加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – Razor View引擎不搜索区域视图位置

发布时间:2020-12-16 09:49:39 所属栏目:asp.Net 来源:网络整理
导读:我正在使用默认的RazorViewEngine和区域布局配置,但是当我导航到使用该区域内的视图的链接时.我收到一条错误消息,指出无法在以下位置找到并搜索到View: ~/Views/Applications/Details.cshtml ~/Views/Applications/Details.vbhtml ~/Views/Shared/Details.c
我正在使用默认的RazorViewEngine和区域布局配置,但是当我导航到使用该区域内的视图的链接时.我收到一条错误消息,指出无法在以下位置找到并搜索到View:

~/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的覆盖.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读