看起来(虽然是调试查看器),它们都在集合ViewEngines
中(剃须刀+网络表单,我使用第一个) ,并且它们都可以(手动)找到视图并显示它们,也可以手动尝试。ViewEngines
那么为什么他们不能自己做呢?这只是一个动作方法,仅此而已:
public ViewResult Login()
{
return View();
}
主要更新
我已经覆盖了OnResultExecuting
方法:
protected override void OnResultExecuting(ResultExecutingContext filterContext)
{
if (filterContext.Result is ViewResult)
{
if (((ViewResult)filterContext.Result).ViewEngineCollection.Count == 0)
{
((ViewResult)filterContext.Result).ViewEngineCollection.Add(new RazorViewEngine());
}
}
base.OnResultExecuting(filterContext);
}
事实证明,我现在所做的每一次和每一次视图都需要IViewEngine
在ViewResult
. 为什么会这样?即使ViewEngines.Engines
集合不为空?
小更新。
在ViewEngineCollection
空闲的某个时间点停止了空。