为PartialViewResult提供视图名称

时间:2010-01-15 12:45:44

标签: asp.net-mvc

做的时候

return PartialViewResult(string viewName, object model)

PartialViewResult的构造函数在哪里查找视图?例如,如果我们的Views文件夹中有两个具有相同名称的视图(当然,在不同的位置)。他选择了哪一个?

如果我们有两个名为Create.aspx和Create.ascx的视图怎么办? PartialViewResult是否只选择ascx文件(假设PartialViewResult主要用于ViewUserControls)?

最后,如果我创建自己的ViewEngine并按照我想要的方式设置PartialViewLocationFormats,它会使用它吗?我实际上已经有了这个,但截至目前我无法自己测试,所以如果你已经尝试过,请回复。

1 个答案:

答案 0 :(得分:2)

将按以下顺序在这些位置搜索部分视图:

  1. “〜/查看/ {1} / {0}的.aspx”
  2. “〜/ Views / {1} / {0} .ascx”
  3. “〜/ Views / Shared / {0} .aspx”
  4. “〜/查看/共享/ {0}的.ascx”
  5. {1}将替换为控制器名称,{0}将替换为操作或部分视图名称(您的情况)。

    是的,如果您创建从VirtualPathProviderViewEngine派生的视图引擎,那么将使用PartialViewLocationFormats。