2013-02-11 7 views
7

コントローラのアクションからサイトのHTMLマークアップにサーバサイド変数を渡し、サイトのjavascriptでそれらを使用するための最も簡単で簡単な方法についてフィードバックを探しています。JavaScript側にサーバサイドのmvc変数を渡す

私はasp.net mvc4で作業しており、そのような方法をお勧めします。

+3

Google検索結果のトンを与える... –

+1

@emrenevayeshirazi:ああ、どのようなスタックオーバーフローに関する有用なコメント! Sk8erPeter

答えて

19

あなたにはいくつかのオプションがあります。

要素にデータ属性またはIDを添付し、javascriptを使用してそれらを取得します。

使用かみそりビュー:

<div id="someid" data-name="@item.attribute"></div> 

JS:

$('#someid').data('name') 

それとも、スクリプトタグに直接データをレンダリングすることができます。カミソリ使用

var somevar = "@item" 

はまた、より複雑なオブジェクトをJson.Encodeすることができます。

var somevar = @Html.Raw(Json.Encode(object)) 
+4

Declanの答えを強調するために、 'var somevar =" @item ";'メソッドを使用する場合は、引用符で囲む必要がありますが、そうしないとvar 'somevar = '。これは文字列などでは単純なように見えるかもしれませんが、null値のブール値、null値の整数などを扱うときはあまり明白ではありません。 –

+0

コンテンツの分離を改善するための最初のアプローチ(divタグまたは隠された入力タグ)コード。 .cshtmlファイルに

関連する問題