Razor视图引擎未搜索区域视图位置



我使用默认的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

您确定正在调用ApplicationAreaRegistration.cs中的RegisterRoutesTo()吗?似乎通往您所在地区的路线尚未注册。

我建议将MapRoute移回ApplicationAreaRegistration.cs中的RegisterArea覆盖。

您的MapRoute似乎是个问题。尝试添加area声明

routes.MapRoute("Application_default", 
                 AreaName + "/{action}/{applicationId}",
                 new
                 {
                    area= "Application",
                    controller = "Applications",
                    action = "Index",                                
                   applicationDomainId = UrlParameter.Optional
                 }, 
                 new { applicationId = @"d+" });

此外,只需仔细检查Html.RouteLink可用的各种过载-您可能需要添加RouteValues集合的区域

`new {area="Application", applicationId = item.Id, action = "Details"}` 

在区域外使用RouteLink

相关内容

  • 没有找到相关文章

最新更新