最近、ASP.NET MVCとJavascript/jQueryを使っていましたが、私はいつも渡す必要がある方向に向かっているようですいくつかの動的な値を "私のjavascriptに"。スクリプトは、右のページにあるとき、私はこのような何かをやった:asp.net-mvcからjavascriptにデータを渡すためのベストプラクティス
var isEditable = <%=ViewData["editable"]%>
が、私はこれが&素早く簡単に、ちょうど私がHTMLに値を挿入したいようなものですかね。しかし、これはにおいがする。本当に、本当に悪い。また、Visual Studioのインテリセンスとコードの書式設定が壊れ、スクリプトが読みにくくなってしまいます。
それは別の解決策は、それがそのままスクリプトを保持しますので、これはおそらくはるかに優れて
<input type="hidden" id="editable" value="<%=ViewData["editable"]%>" />
var isEditable = $("#editable").attr("value");
...隠しフィールドに自分のデータを渡し、そのJavascriptの参照を持っているだろう私に発生したので、それを外部の.jsファイルに移動することができます。しかし、この解決策についての何かが理想的ではないように思われます。それとも私だけですか?
誰もあなたのスクリプトにデータを渡すためのベストプラクティス&ソリューションをお勧めできますか?私のスクリプトが最初にコントローラからのビューデータに大きく依存してしまうと、私は間違った方向に向かいましたか?
モデルからAJAXコントローラのデータストアにデータを「プル」するのはどうですか? – Janie
私は、AJAXは、私が言及しているケースでは過度の攻撃になるだろうと思っています...私のスクリプトは、コントローラ/モデル(初期ページの実行時に既に存在しているデータ)から数ビットのデータを知る必要があります別のネットワークコールを発行するには、コントローラーが少し多いようです。 –