それは(デバッグビューアーですが)、ViewEngines
両方(かみそり+ Webフォーム、最初のものを使用しています)が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);
}
そして、毎回、すべてのビューを a に new を追加する必要があることがわかりIViewEngine
ましたViewResult
。ではなぜそうなのか?ViewEngines.Engines
コレクションが空でなくても?
マイナーアップデート。
アイドリングViewEngineCollection
のある時点で空になるのをやめました。