title: C# MVC Routes with same action name and different parameters
body: <p>I have two methods in the SurveyController:</p>
  
  <pre><code>public ActionResult Index(string surveyId, string surveyWaveId, string programId)
  </code></pre>
  
  <p>and</p>
  
  <pre><code>public ActionResult Index(string hash)
  </code></pre>
  
  <p>I would like to be able to go to: </p>
  
  <p>Survey/Index/{string} <strong>or</strong> Survey/Index/{string}/{string}/{string}</p>
  
  <p>and route to the correct action based on the number of parameters supplied. Is this possible with MVC5? I also have this in my RouteConfig.</p>
  
  <pre><code>routes.MapRoute(
              name: "SurveyEmailLink",
              url: "Survey/Index/{hash}",
              defaults: new { controller = "Survey", action = "Index"},
              namespaces: new[] { "Cobalt.Controllers" }
              );
  
          routes.MapRoute(
              name: "SurveyIconLink",
              url: "Survey/Index/{surveyId}/{surveyWaveId}/{programId}",
              defaults: new { controller = "Survey", action = "Index" },
              namespaces: new[] { "Cobalt.Controllers" }
              );
  
          routes.MapRoute(
               name: "Default",
               url: "{controller}/{action}/{id}",
               defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
               namespaces: new[] { "Cobalt.Controllers" }
               );
  </code></pre>
  
  <p>Thanks in advance!</p>