在MVC2中,如何依照Global.asax中的路由规则来自动生成Action link是个比较常见的问题,下面一个例子给大家解释一下:
Global.asax中的路由规则代码(经典方式):
// mapping route for current MVC action sample
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "UserManager", action = "DemoUserView", id = UrlParameter.Optional } // Parameter defaults
);
在页面中如何生成对应的页面链接代码:
<div>
<p>Create user. <%: Html.ActionLink("Create one user", "CreateUser", "UserManager") %> </p>
<p>Show User. <%: Html.ActionLink("UserManager", "ShowUser", new { id=2 })%> </p>
</div>
其中UserManager是Controller名称,ShowUser是Action名,id=2是具体的参数ID值。
生成后的Action link格式如同: http://localhost:2043/UserManager/ShowUser/2,正是我们期望的格式。
通过这个例子大家能类比一下就能方便地发现MVC2中的link生成的规则以及函数调用方法。