Razor 構文の部分ビューを Asp.net ビューにレンダリングできるように、部分ビューを文字列にレンダリングする必要があります。プロセスの一部には、ビュー エンジンにビューを検索させることが含まれます。
var engine =
ViewEngines.Engines
.OfType<RazorViewEngine>()
.SingleOrDefault();
if(engine == null)throw new Exception("no razor viewengine");
//useCache is the last parameter in the invocation below
var viewResult = engine
.FindPartialView(htmlHelper.ViewContext, viewName, false);
useCache
パラメータをに設定するとtrue
(つまり、要求するたびに仮想パス プロバイダに検索させたくない場合)、ビューが見つかりません。キャッシュ経由で見つからない場合は、キャッシュされていない方法にフォールバックすると予想していました。
私の期待は間違っていますか?これは、ViewEngine の混合と関係がありますか?
さらに混乱させられるのは、単にViewEngine.Engines
コレクションにビューを検索するように要求しただけでは、useCache
パラメーターが与えられないということです。
var viewResult =
ViewEngines
.Engines
.FindPartialView(htmlHelper.ViewContext, viewName);
私はこの FTTB で行くと思いますが、疑問が生じます...なぜ不一致なのですか?