【发布时间】:2011-02-01 14:03:07
【问题描述】:
我有一个以下控制器,其中包含一个带有单个参数的操作:
public class HomeController : Controller
{
public ActionResult Index(int? param)
{
return View();
}
}
我的 MasterPage 包含一个 ActionLink,它应该指向 '/Home/Index':
Html.ActionLink("MyActionLinkText", "Index", "Home")
现在我添加这样的路线:
routes.MapRoute(
"MyRoute",
"Home/Something/{param}",
new { controller = "Home", action = "Index" },
new { param = "\\d+" });
当我导航到“/Home/Index”时,ActionLink 指向“/Home/Index”。没关系。 但是当我导航到“Home/Something/123”时,ActionLink 也指向“Home/Something/123”。
如果我以这种方式生成 ActionLink,我会理解这种行为:
Html.ActionLink("test", "Index", "Home", new { param = 123 }, null)
但由于我不提供任何路线值,我不理解这种行为。
我该怎么做才能让 ActionLink 始终指向“/Home/Index”,独立于当前参数?
【问题讨论】:
标签: asp.net-mvc