title: C#3.5 MVC2 routing skip optional param
body: <p>Here I have:</p>
  
  <pre><code>routes.MapRoute(
      "test", // Route name
      "DataWarehouse/Distribution/{category}/{serialNo}",
      new { controller = "DataWarehouse", 
            action = "Distribution", 
            category= UrlParameter.Optional, 
            serialNo = UrlParameter.Optional } 
  );
  </code></pre>
  
  <p>Category and serialNo are both optional params.  When the routing is like: <code>DataWarehouse/Distribution/123</code>, it always treat 123 as the value for category.  </p>
  
  <p>My question is how I can make it to know the 1st param could be either category or serialNo, i.e. <code>DataWarehouse/Distribution/{category}</code> and <code>DataWarehouse/Distribution/{serialNo}</code>.</p>