4

ページによって設定された情報を取得するために ViewBag にアクセスする必要があるマスター ページから呼び出される HtmlHelper への拡張メソッドを作成しました。

これはメソッド シグネチャです。

public static string BuildFavoritesTitle(this HtmlHelper htmlHelper) { }

アクセスするとメソッド内にあることに気づきました

htmlHelper.ViewContext.ViewBag

空のViewBagを取得しますが、アクセスすると

htmlHelper.ViewBag

「正しい」ViewBag を取得します。正しいとは、内側のページにアイテムが追加された ViewBag を意味します。

違いを知りたいのですが、なぜ複数の ViewBag があるのですか?

4

1 に答える 1

1

ビュー データ ディクショナリに値を設定する目的は何ですか? コントロールをレンダリングする方法を決定するのは、ある種のプロパティですか?

BuildFavoritesTitle にパラメータを追加することを検討してください

public static string BuildFavoritesTitle(this HtmlHelper htmlHelper, string parameter) { }

次に、ビューからヘルパー メソッドを呼び出します (これが目的かどうかわかりません)。

@Html.BuildFavoritesTitle("myParameter")

また、HTML ヘルパーで作成しようとしているコントロールまたはある種のマークアップの場合は、戻り値の型として MvcHtmlString を使用することを検討してください。

于 2013-10-05T07:49:16.597 に答える