我今天打了另一个砖墙,当jquery位于区域内时生成了偏见。这有点莫名其妙,因为我在〜/ areas / administration / views / shared下有很多部分视图,如果包含在普通视图中,它们都会被渲染得很好。但是,如果我通过ajax调用任何相同的部分视图,控制器操作运行正常,但我得到一个错误。仔细检查后,错误显示是由于视图引擎(ascx)找不到部分视图。基本上,控制台报告已搜索到所有“正常”视图位置,但引擎无法找到相关视图。
我想知道这是否是路由问题,这似乎不太可能。当通过jquery ajax调用时,有没有其他人在区域内部分视图遇到问题?正如我所说的那样,如果在同一区域文件夹下“生活”的标准视图中包含“内联”,同样的局部渲染就会很好。
欢迎思考..
答案 0 :(得分:0)
确定,
经过一番脑力激荡,我得到了解决。基本上,问题与我引用网站的“根”和核心web.config文件中的“区域”命名空间有关,即:
<pages>
<namespaces>
<add namespace="ABC.Web.Site.Controllers" />
<add namespace="ABC.Web.Site.Models" />
<add namespace="ABC.Web.Site.Models.ViewModels" />
<add namespace="ABC.Web.Site.Areas.Administration.Controllers" />
<add namespace="ABC.Web.Site.Areas.Administration.Models" />
<add namespace="ABC.Web.Site.Areas.Administration.Models.ViewModels" />
</namespaces>
</pages>
将每个集合移动到views文件夹下的自己的web.config中排序问题:ie。:
根/视图/ web.config中:
<pages>
<namespaces>
<add namespace="ABC.Web.Site.Controllers" />
<add namespace="ABC.Web.Site.Models" />
<add namespace="ABC.Web.Site.Models.ViewModels" />
</namespaces>
</pages>
区域/视图/ web.config中:
<pages>
<namespaces>
<add namespace="ABC.Web.Site.Areas.Administration.Controllers" />
<add namespace="ABC.Web.Site.Areas.Administration.Models" />
<add namespace="ABC.Web.Site.Areas.Administration.Models.ViewModels" />
</namespaces>
</pages>
...幸福