无法访问MVC 3区域内的视图
本文关键字:视图 区域 访问 MVC | 更新日期: 2023-09-27 18:17:38
我被困在一个简单的问题,我不知道如何解决这个问题。
没有找到视图类别或其主目录,或者没有视图引擎支持搜索的位置。以下地点是搜索:
~/视图/ShoppingCart/Category.aspx
~/视图/ShoppingCart/Category.ascx
~/视图/共享/Category.aspx
~/视图/共享/Category.ascx
~/视图/ShoppingCart/Category.cshtml
~/视图/ShoppingCart/Category.vbhtml
~/视图/共享/Category.cshtml
~/视图/共享/Category.vbhtml
我有一个名为ShoppingCartArea的区域,我有一个视图(Category.cshtml)和控制器在里面。但是我不确定它是如何引用到主视图文件夹的。
Global.asax
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "ShoppingCart", action = "Category", id = UrlParameter.Optional }, // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
和my area registration.cs
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"ShoppingCartArea_default",
"ShoppingCartArea/{controller}/{action}/{id}",
new { controller = "ShoppingCart", action = "Category", id = UrlParameter.Optional },
new[] { ShoppingCartAppMVC.Areas.ShoppingCartArea.Controllers}
);
}
让我知道我做错了什么
可能,您遇到这个问题是因为您手动添加了区域。最近,我一直在重建旧的WebForms应用程序,并慢慢地将其转换为MVC。我没有添加MVC类型的项目,只是添加了需要的文件夹等。很不幸,我也遇到过和你一样的问题。
答案是添加正确的项目类型(参见此答案)并从项目的上下文菜单。之后,我把所有的东西都移动到一个新创建的区域,它工作了。
所以答案是MVC不仅创建了所有的文件夹,而且还更新了它的路由