Alw*_*wyn 4 c# asp.net-mvc routes razor asp.net-mvc-3
如何:
@Html.ActionLink("MyText","Index","Home")
Run Code Online (Sandbox Code Playgroud)
翻译为:
<a href="/Home">MyText</a>
Run Code Online (Sandbox Code Playgroud)
而在它打印之前
<a href="/Home/Index">MyText</a>
Run Code Online (Sandbox Code Playgroud)
之后,我通过以下方式为所有控制器添加了默认操作:
routes.MapRoute(
"DefaultActionToIndex",
"{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional });
Run Code Online (Sandbox Code Playgroud)
在我看来,辅助方法不仅可以打印传入的内容,还可以解析路径字典,并确定"索引"不是必需的,因为它被设置为默认值.
问题是如何?
路由以两种方式工作,对于传入请求和URL生成,它System.Web.Routing.RouteTable.Routes使用提供的值(在这种情况下{ controller = "Home", action = "Index" })测试(按顺序)路由 ,并使用匹配的第一个路由.如果参数具有默认值,并且提供的值等于该默认值,则它不包含在URL中.
| 归档时间: |
|
| 查看次数: |
7633 次 |
| 最近记录: |