我有一个名为HomeController的控制器,其操作为Index(),MethodOne()和MethodTwo()。其中每个都只返回View()。 当我使用代码创建操作链接时:
@Html.ActionLink("Home", "Index", "Home")
我收到超链接:
<a href="/">Home</a>
这很好但是使用相同的ActionLink扩展方法来路由MethodOne我得到了超链接:
<a href="/Home/MethodOne">MethodOne</a></li>
我需要配置什么,以便我的网站接受超链接“/ MethodOne”,这当前返回404。 我怀疑这可能与路由有关。我的路由表目前是默认值:
routes.MapRoute("Default", "{controller}/{action}/{id}",
new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
});
答案 0 :(得分:3)
您需要一条路线:
routes.MapRoute(
"MethodOne", //Your route name.
"methodone", //What your browser/user will see at the URL bar: localhost.com/methodone
new { controller = "Home", action = "MethodOne" } //What MVC3 will route to.
);
这会将请求映射并捕获到Home/MethodOne
操作方法。