是否可以告诉ViewEngine在其他文件夹中查找指定控制器的部分共享视图(对于其他控制器则不是)?
我正在使用WebFormViewEngine。
这就是我的PartialViewLocations目前的样子。
public class ViewEngine : WebFormViewEngine
{
public ViewEngine()
{
PartialViewLocationFormats = PartialViewLocationFormats
.Union(new[]
{
"~/Views/{1}/Partial/{0}.ascx",
"~/Views/Shared/Partial/{0}.ascx"
}).ToArray();
}
最佳答案
当然。在这种情况下,请勿更改PartialViewLocationFormats。相反,请执行以下操作:
public override ViewEngineResult FindPartialView(
ControllerContext controllerContext,
string partialViewName,
bool useCache)
{
ViewEngineResult result = null;
if (controllerContext.Controller.GetType() == typeof(SpecialController))
{
result = base.FindPartialView(
controllerContext, "Partial/" + partialViewName, useCache);
}
//Fall back to default search path if no other view has been selected
if (result == null || result.View == null)
{
result = base.FindPartialView(
controllerContext, partialViewName, useCache);
}
return result;
}
关于asp.net-mvc - 如何对指定 Controller 的部分共享 View 进行分组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1345649/