Mvc 3 如何列出所有可用的路由
本文关键字:路由 何列出 Mvc | 更新日期: 2023-09-27 18:34:20
如何:
@Html.ActionLink("MyText","Index","Home")
翻译为:
<a href="/Home">MyText</a>
而在印刷之前
<a href="/Home/Index">MyText</a>
在我通过以下方式为所有控制器添加默认操作之后:
routes.MapRoute(
"DefaultActionToIndex",
"{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional });
在我看来,帮助程序方法不仅仅是打印传入的任何内容,而是能够解析路由字典并找出"索引"不是必需的,因为它被设置为默认值。
问题是怎么做?
路由是
双向的,对于传入请求和 URL 生成,它使用提供的值(在本例中为 { controller = "Home", action = "Index" }
)System.Web.Routing.RouteTable.Routes
(按顺序)测试路由,并使用匹配的第一个路由。如果参数具有默认值,并且提供的值等于该默认值,则不会将其包含在 URL 中。