【发布时间】:2016-05-17 19:14:56
【问题描述】:
在我的项目中有一个动作
public ActionResult Lead(int leadId)
{
return View();
}
在视图中,ActionLink 是这样创建的
@Html.ActionLink("Old Link", "Lead", "Home", new { leadId = 7 }, null)
但过了一段时间,为了制作干净的 URL,我更改了该操作的参数名称
public ActionResult Lead(int id)
{
return View();
}
而ActionLink也相应变化
@Html.ActionLink("New Link", "Lead", "Home", new { id = 5 }, null)
但旧链接已在多个社交网站上共享。每当有人点击该旧链接时,他都会被重定向到页面 www.xyx.com/Home/Lead?leadId=7
但现在在我的应用程序中,不存在这样的 URL。
为了处理这个问题,我在考虑重载,但是 MVC 动作不支持重载。
我用额外的参数创建了另一个同名的动作,并重定向到新动作,但它不起作用。
public ActionResult Lead(int leadId, int extra=0)
{
return RedirectToAction("Lead", "Home", new { id = leadId });
}
我找到了一个链接来处理这种情况,但它不适用于我的情况。
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-4 url-routing