3

_Layout.cshtmlビュー ページのスコープ内の共有レイアウトで定義した変数はありますか?

_Layout.cshtml 変数:

@{
    ViewBag.url = "http://www.website.com/site/";
}

インデックス.cshtml:

<a class="continue" href="@ViewBag.url/our-vision/">Continue</a>

これは以下を出力します:/our-vision/

4

2 に答える 2

3

この質問からの回答を試すことができます: How do I set ViewBag properties on _ViewStart.cshtml?

設定 (注: コードは _ViewStart 用であり、_Layout 用ではありません)

@{
    PageData["message"] = "Hello";
}

得る

<h2>@PageData["message"]</h2>

また

より興味深い解決策を作成する:コントローラーの基本クラスを使用せずに、すべてのビューの ViewBag プロパティを設定する方法は?

于 2013-03-29T12:53:37.323 に答える
0

説明:
ViewBag はビュー/レイアウトごとに異なり、かみそりは最初にビューをレンダリングし、その後レイアウトをレンダリングします。

この問題の解決策は、レイアウトではなく、ベース コントローラーまたはビューまたはグローバル フィルターで共通の定数を設定することです。

于 2013-03-29T13:31:14.840 に答える