Я использую стандартную конфигурацию RazorViewEngine и Area, однако при переходе к ссылке, которая использует вид внутри области.Я получаю сообщение об ошибке, утверждающее, что представление не может быть найдено и выполнено в следующих местах:
~/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