回到我的“路线” - 与偏见和区域问题?

时间:2011-07-28 23:09:23

标签: asp.net-mvc asp.net-mvc-areas

我今天打了另一个砖墙,当jquery位于区域内时生成了偏见。这有点莫名其妙,因为我在〜/ areas / administration / views / shared下有很多部分视图,如果包含在普通视图中,它们都会被渲染得很好。但是,如果我通过ajax调用任何相同的部分视图,控制器操作运行正常,但我得到一个错误。仔细检查后,错误显示是由于视图引擎(ascx)找不到部分视图。基本上,控制台报告已搜索到所有“正常”视图位置,但引擎无法找到相关视图。

我想知道这是否是路由问题,这似乎不太可能。当通过jquery ajax调用时,有没有其他人在区域内部分视图遇到问题?正如我所说的那样,如果在同一区域文件夹下“生活”的标准视图中包含“内联”,同样的局部渲染就会很好。

欢迎思考..

1 个答案:

答案 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>

...幸福