0

クライアント側コード内から ViewBag データにアクセスしたいと思います。これは私がコントローラーで試したことです:

ViewBag.Tasks = new JavaScriptSerializer().Serialize(tasks);

私の見解では、これを隠しフィールドに入れて、クライアント側で使用できるようにします。

<input type="hidden" name="diagramData" data-nodes="@ViewBag.Tasks"  />

次に、Javascript ファイルで、選択したノードに関連する情報を検索します。

alert($("#diagramData").data("nodes"));  //?????

アラートには常に「未定義」と表示されます。どうしてこれなの?

4

1 に答える 1

1

これは、要素を取得するための間違った jQuery セレクターです。試す:

$('input[name="diagramData"]').data("nodes")

nameHTML で属性を設定しますが、 id( のため#) で選択しようとします。で選択するには、属性が等しいセレクターが必要ですname

または、もちろん、id「diagramData」としてパラメーターを追加し、元のセレクターを使用するだけです。

参照:

于 2013-05-09T03:51:59.653 に答える