Я использую 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