この問題は、仮想ビューの場合、コンテンツがファイルまたはデータベースから取得されたビューが、System.Web.Mvc.ViewStartPage
HtmlおよびUrlを含むが、ViewBagまたはAjaxプロパティを含まないビューを継承するという事実に関連しています。仮想ビューは次のように参照されます
public class DynamicViewsController : Controller
{
public ActionResult GetView()
{
//SomeModel model = new SomeModel() { Count = 1 };
return View("/Virtual/VirtualViewToShow.cshtml");
}
}
〜/ Views /フォルダーにあるビューは、ViewBagとViewData、およびAjaxプロパティが定義されているSystem.Web.Mvc.WebViewPageを継承します。
アクションメソッドを次のように変更するための回避策
public PartialViewResult GetView()
{
//SomeModel model = new SomeModel() { Count = 1 };
return PartialView("/Virtual/VirtualViewToShow.cshtml");
}
と追加する
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
レイアウトもロードするために、仮想ビューのテキストに。仮想ビューがから継承する理由はわかりませんがSystem.Web.Mvc.ViewStartPage
、別のスレッドでその理由を見つけようとし、スレッドが作成されたときにリンクを投稿します。
編集済み
つまり、新しく作成されたスレッドへのリンクはここにあります
「完全なコンパイルソースを表示」のスクリーンショットを添付