我使用默认的RazorViewEngine和区域布局配置,但是当我导航到使用该区域内的视图的链接时。我得到一个错误,指出该视图不能被发现和搜查在以下位置:剃刀视图引擎不搜索区域查看位置
~/Views/Applications/Details.cshtml
~/Views/Applications/Details.vbhtml
~/Views/Shared/Details.cshtml
~/Views/Shared/Details.vbhtml
我感到奇怪的是,它看起来好像视图引擎不会尝试搜索的区域位置。我需要做些什么调整才能让视图引擎在其区域中搜索视图。
这是我用来定义我的区域的相关代码。
的Global.asax.cs
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteRegistrar.RegisterRoutesTo(RouteTable.Routes);
}
ApplicationAreaRegistration.cs
private void RegisterRoutesTo(RouteCollection routes)
{
routes.MapRoute("Application_default", AreaName + "/{action}/{applicationId}",
new
{
controller = "Applications",
action = "Index",
applicationDomainId = UrlParameter.Optional
}, new { applicationId = @"\d+" });
}
Index.cshtml
@Html.RouteLink(item.Name, "Application_default", new { applicationId = item.Id, action = "Details" })
物理目录布局
Areas \
\Application
\Controllers
-ApplicationsController.cs
\Views
-Details.cshtml
-ApplicationAreaRegistration.cs
这正是问题所在。谢谢您的帮助! – Karl