我正在 MVC3 应用程序内的主 _Layout.cshtml 文件中创建一个链接。
@Html.ActionLink("Security", "Index", "Home", new { area = "Security" }, new { })
呈现页面时,这是生成的 Html
<a href="/Security">Security</a>
如果我点击这个链接,我会得到一个空白页。
我已经安装了routedebugger,结果如下:
我在 Global.ascx.cs 中有默认路由,如下所示:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "Eis.Mvc.Web" }// Parameter defaults
);
和安全区的路线:
context.MapRoute(
"Security_default",
"Security/{controller}/{action}/{id}",
new { area = "Security", controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "Eis.Mvc.Web.Areas.Security.Controllers" }
);
如果我直接输入以下 URL http://localhost:1410/Security/home,则会显示正确的页面。
如何获取 @Html.Action 链接以包含 URL 的控制器部分?
我在应用程序的根部分中有一个带有索引操作的 Home 控制器,并且必须在路由注册中包含命名空间过滤器。
谢谢你,基思