asp.net-mvc-3 – 带区域的MVC – Html.ActionLink返回错误的URL /路由?
发布时间:2020-05-22 16:09:15 所属栏目:asp.Net 来源:互联网
导读:我正在使用MVC3并在我的应用程序中有区域.一般来说,一切正常,我可以导航到我的区域(例如Admin = Area,Controller = Department),如下所示: %: Html.ActionLink(Departments, DepartmentIndex, Department, new { area = Admin}, null )% 但是,我注意到的是,
|
我正在使用MVC3并在我的应用程序中有区域.一般来说,一切正常,我可以导航到我的区域(例如Admin = Area,Controller = Department),如下所示: <%: Html.ActionLink("Departments","DepartmentIndex","Department",new { area = "Admin"},null )%>
但是,我注意到的是,如果我没有在ActionLink中指定区域,例如 <%: Html.ActionLink("Test","Index","Home")%>
如果我已导航到“管理员”区域,这将停止工作.即我的网址现在 关于这里发生了什么的任何想法? 创建MVC应用程序/区域时,我的路由是所有默认值.即 public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",// Route name
"{controller}/{action}/{id}",// URL with parameters
new { controller = "Home",action = "Index",id = UrlParameter.Optional },new[] { "MyProj.Controllers" }
);
}
我的区域注册 public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default","Admin/{controller}/{action}/{id}",new { action = "Index",id = UrlParameter.Optional }
);
}
这是设计的吗? 解决方法This StackOverflow answer正确地指出,如果您正在使用区域,则需要提供区域名称.例如. Html.ActionLink("Home","Home",new { Area = "" },new { }) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何使用post或get来检查控制器是否被调用?
- asp.net-mvc-3 – 根据url更改控制器中的布局
- asp.net-mvc – ASP.NET MVC – 主页面和视图页面的不同模型
- wcf – SOAP API HTTPS – 与经典ASP连接
- 实体框架 – MVC 3 EF 4.1 dbContext – 删除具有不可空的外
- ASP.NET Web.Api插件架构
- asp.net-mvc – 将ApplicationUser和其他模型移出MVC项目
- asp.net-web-api – 与web api和web api 2之间的PushStream
- asp.net-web-api – 在LINQPad中使用WebAPI?
- asp.net – 是否有一个简单的方法来呈现具有Microsoft Web
推荐文章
站长推荐
热点阅读
