jga*_*fin 2 asp.net-mvc viewengine
我试图通过使用路径来检查是否存在一些视图.但即使它们确实存在,也无法找到它们.
private string SelectFirstView(ControllerContext ctx, params string[] viewNames)
{
return viewNames.First(view => ViewExists(ctx, view));
}
private bool ViewExists(ControllerContext ctx, string name)
{
var result = ViewEngines.Engines.FindView(ctx, name, null);
return result.View != null;
}
Run Code Online (Sandbox Code Playgroud)
以及我如何尝试查找视图:
var viewName = SelectFirstView(ctx, statusCodeName,
"~/Error/" + statusCodeName,
"~/Error/General",
"~/Shared/Error",
"Error");
Run Code Online (Sandbox Code Playgroud)
请注意,"~/Shared/Error"并且"Error"是相同的视图,但只找到后者.
使用路径时,还需要指定扩展名:
~/Error/General.cshtml
~/Shared/Error.cshtml
...
Run Code Online (Sandbox Code Playgroud)
如果未指定路径,则不需要扩展名,因为视图引擎遵循标准约定来发现视图.