PartialViewからpageTitleを設定しようとしています
これが私のコードです:
PartialViewテンプレート:
@{
((WebViewPage)WebPageContext.Current.Page).ViewBag.Title = "Page title";
}
_Layout.cshtml:
<title> @ViewBag.Title</title>
これを行う方法?
PartialViewからpageTitleを設定しようとしています
これが私のコードです:
PartialViewテンプレート:
@{
((WebViewPage)WebPageContext.Current.Page).ViewBag.Title = "Page title";
}
_Layout.cshtml:
<title> @ViewBag.Title</title>
これを行う方法?
それはパーシャルがすべきことではありません。親ビューを変更するのはその責任ではありませんViewBag
。そしてそれに加えて、それは不可能です。MSDNからの引用:
部分ビューがインスタンス化されると、親ビューで使用できるViewDataDictionaryオブジェクトの独自のコピーを取得します。したがって、部分ビューは親ビューのデータにアクセスできます。ただし、部分ビューがデータを更新する場合、それらの更新は部分ビューのViewDataオブジェクトにのみ影響します。親ビューのデータは変更されません。
ここに示されている回避策 はいつでも実行できますが、実行しないでください。パーシャルは、親の状態を設定してはなりません。彼らは親について何も知らないはずです。