MVC基础向
关于页面及控制器迁移至区域后出现的问题;
无法进入迁移后的页面。(需要了解MVC的基本走向流程。这是基础中的基础。。。)
原因是控制器无法找到。控制器移动后命名空间将随着改变。
确保路由的正确性,以及控制器所在的命名空间是否正确。
控制器重复(二义性)
检查路由:
MVC5:(区域路由),路由的命名空间也需要注意,具体导航MapRoute方法进行了解。请认真检查命名空间。
1 context.MapRoute( 2 "Admin_default", 3 "Admin/{controller}/{action}/{id}", 4 new { action = "Index", id = UrlParameter.Optional }, 5 new[] { "YaoXiangTong.Web.Areas.Admin.Controllers" } 6 );
(初始路由)
1 routes.MapRoute( 2 name: "Default", 3 url: "{controller}/{action}/{id}", 4 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 5 namespaces: new[] { "YaoXiangTong.Web.Controllers" }
本地化出错。
出错位置:那个L(这个本地化的L可以改成其他的字母,每个项目不同)
1 ViewBag.Title = L("YXTSupply");
解决方式,检查迁移前相对于web.config与迁移后对应web.config中的页面基类是否一致。
修改基类的位置:
1 <system.web.webPages.razor> 2 <pages pageBaseType="System.Web.Mvc.WebViewPage"> 3 </pages> 4 </system.web.webPages.razor>