asp.net-mvc – 子文件夹中的控制器
我的区域在下面.只有有关部分被突出显示. 路线表 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "SubFolder",// Route name "SubFolder/ChildController",new { controller = "ChildController",action = "Index" },new[] { "Practise.Areas.SOProblems.Controllers.SubFolder" }); routes.MapRoute( "Default",// Route name "{controller}/{action}",// URL with parameters new { controller = "Home",action = "Index" } // Parameter defaults ); } This only works when the url is like this localhost:2474/SOProblems/ChildController/index This does not works when the url is like this localhost:2474/SOProblems/SubFolder/ChildController/index 你能告诉我什么是失踪的吗? 解决方法
这是正常现象您的路由模式如下所示:SubFolder / ChildController,而不是SubFolder / ChildController / index.除此之外,您在错误的地方定义了路线.您在您的主要路线定义中定义了它,而不是在您的区域路线定义中.所以摆脱主路由的自定义路由定义,并将其添加到SOProblemsAreaRegistration.cs文件(这是您的SOProblems路由应注册的地方): public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "SubFolderRoute","SOProblems/SubFolder/ChildController",new[] { "Practise.Areas.SOProblems.Controllers.SubFolder" } ); context.MapRoute( "SOProblems_default","SOProblems/{controller}/{action}/{id}",new { action = "Index",id = UrlParameter.Optional } ); } 此外,由于您的路由模式(SOProblems / SubFolder / ChildController)无法指定操作名称,因此在此控制器上只能有一个操作,这将是您在这种情况下注册(索引)的默认操作. 如果你想在这个控制器上有更多的动作,而索引是默认的,你应该把它放在你的路由模式中: context.MapRoute( "SubFolder","SOProblems/SubFolder/ChildController/{action}",new[] { "Practise.Areas.SOProblems.Controllers.SubFolder" } ); 在这两种情况下,您的主路由定义可以保留其默认值: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default","{controller}/{action}",new { controller = "Home",action = "Index" } ); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – mvc3中的默认页面在哪里?
- 如何在ASP.net中获取页面中的主页?
- asp.net – 作为MVC路径参数的文件路径
- 实体框架 – 带有实体框架的MVC 3和ASP.Net脚手架错误:没有
- asp.net-mvc – 保存为“BodyPart_3ded2bfb-40be-4183-b789
- 实体框架 – ASP.NET Web Api 2/EF6首次调用初始化性能
- asp.net – 占位符/示例文本在用户的文本框中
- asp.net-mvc – RazorEngine:不能使用Html.Raw
- asp.net – 什么是DefaultWsdlHelpGenerator.aspx?
- asp.net – SQL Server未找到或无法访问