asp.net-mvc – ASP.NET MVC ActionLink外部区域

MVC中的一个简单任务有时成为一个艰巨的挑战。

那我有一个叫做Admin的区域。我在该区域的Shared目录中有一个名为“Forbidden”的页面。

目标很简单:我需要创建一个Html.ActionLink,生成一个链接,返回到管理区域外的主页。

所以我尝试,<%= Html.ActionLink(“Back”,“Index”,new {controller =“Home”})%>,及其生成:

http://localhost/Admin/Home/Index

它的错!我想要:

http://localhost/Home/Index

我如何创建从一个区域到默认控制器结构的链接?

解决方法

尝试这个 :
<%= Html.ActionLink("Back","Index","Home",new { area = "" },null) %>

当使用区域时,您应该总是通过添加如上所述的路径值来指定您的ActionLink中调用的区域。如果链接位于区域之外(如您所见),则只需使用该区域的空参数即可。

有一个很好的扩展,我发现任何ASP.NET MVC项目(T4MVC)必不可少。它使您的ActionLinks看起来更清洁,并保护它们免受错误。

所以上面的代码看起来像这样:

<%= Html.ActionLink("Back",MVC.Home.Index()) %>

使用区域时:

<%= Html.ActionLink("Some Link",MVC.Admin.SomeController.SomeAction()) %>

它是Codeplex here的MvcContrib项目的一部分

你应该考虑使用它。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....