ozs*_*gal 30 asp.net-mvc asp.net-mvc-areas
MVC中的一项简单任务有时会成为一项艰巨的挑战.
好吧,我有一个名为Admin的区域.我在这个区域的Shared目录中有一个名为"Forbidden"的页面.
目标很简单:我需要创建一个Html.ActionLink,它生成一个链接以返回主页,该主页位于Admin区域的外部.
所以,我尝试,<%= Html.ActionLink("Back","Index",new {controller="Home"})%>并生成:
http://localhost/Admin/Home/Index
Run Code Online (Sandbox Code Playgroud)
错了!我想:
http://localhost/Home/Index
Run Code Online (Sandbox Code Playgroud)
如何创建从区域到默认控制器结构的链接?
Man*_*ous 54
试试这个 :
<%= Html.ActionLink("Back", "Index", "Home", new { area = "" }, null) %>
Run Code Online (Sandbox Code Playgroud)
使用区域时,您应该始终通过添加路线值来指定您在ActionLinks中调用的区域,如果链接位于区域之外(如您的情况),则只需对该区域使用空参数.
我发现在任何ASP.NET MVC项目(T4MVC)中都有一个很好的扩展.它使您的ActionLinks看起来更清晰,并保护它们免受错误的影响.
所以上面的代码看起来像这样:
<%= Html.ActionLink("Back", MVC.Home.Index()) %>
Run Code Online (Sandbox Code Playgroud)
当使用区域时:
<%= Html.ActionLink("Some Link", MVC.Admin.SomeController.SomeAction()) %>
Run Code Online (Sandbox Code Playgroud)
这是一部分MvcContrib在CodePlex项目在这里
你应该考虑使用它.
| 归档时间: |
|
| 查看次数: |
15990 次 |
| 最近记录: |