Handle Multiple action with same name in MVC
<p>In my project there is an action </p>

<pre><code>public ActionResult Lead(int leadId)
{
    return View();
}
</code></pre>

<p>and in the View an <code>ActionLink</code> was created like this</p>

<pre><code>@Html.ActionLink("Old Link", "Lead", "Home", new { leadId = 7 }, null)
</code></pre>

<p>But after some time, to make clean URL, I have changed the name of parameter of that action</p>

<pre><code>public ActionResult Lead(int id)
{
    return View();
}
</code></pre>

<p>And <code>ActionLink</code> change accordingly </p>

<pre><code>@Html.ActionLink("New Link", "Lead", "Home", new { id = 5 }, null)
</code></pre>

<p>But old link was shared in multiple social network sites. Whenever anyone clicks on that old link, he is redirect to the page <em>www.xyx.com/Home/Lead?leadId=7</em></p>

<p>But now in my application, no such URL exists. </p>

<p>To handle this problem, I was thinking of overloading, but MVC action doesn't support overloading.</p>

<p>I have created another Action with same name with extra parameter, and redirect to new action, but it doesn't work.</p>

<pre><code>public ActionResult Lead(int leadId, int extra=0)
{
    return RedirectToAction("Lead", "Home", new { id = leadId });
}
</code></pre>

<p>I have found one link to handle such situation, but It is not working in my case.</p>

<p><a href="https://stackoverflow.com/questions/1045316/asp-net-mvc-ambiguous-action-methods">ASP.NET MVC ambiguous action methods</a></p>