私のmvcビューで私の "Model"はオブジェクトのリストです。この場合、オブジェクトのIDを取得したいと思います。JavaScriptリテラルを挿入しますか? (文字リテラルの文字数が多すぎます)
var counter = 0; //for example
var id = '<%=Model[' + counter + '].Id %>';
これは私が得るものです:
ありがとう!
私のmvcビューで私の "Model"はオブジェクトのリストです。この場合、オブジェクトのIDを取得したいと思います。JavaScriptリテラルを挿入しますか? (文字リテラルの文字数が多すぎます)
var counter = 0; //for example
var id = '<%=Model[' + counter + '].Id %>';
これは私が得るものです:
ありがとう!
はい、カウンター変数はModel []のインデックスとして使用できません。これはクライアント上にのみ存在するためです(このスニペットがスクリプトのhtml要素内にあると仮定します)。ビューを作成しているときは、作成中の長い「文字列」(ブラウザに返されたhtml)と考えると便利です。この場合、 'counter'はスクリプトブロック内の一部の文字であり、ブラウザによって最終的に解釈されるため、ビューを構築する際に使用できる変数ではありません。 <%=%>ブロックは、追加する文字列を返すだけです(=記号の意味です)。あなたが含むコードを投稿することができ
<% var counter = 0; %>
<script language=javascript>
var id = '<%=Model[counter].Id %>';
</script>
これは本当に意味をなさない。あなたはそれの真ん中にクライアント側のJavascriptでASP式をまとめようとしています。 Javascriptがクライアントで実行されている間は、ASPのすべてがあなたのサーバー上で実行されるので、それは無意味です。
あなたがやりたいことの残りの部分を知らずに、どのように進めるべきかを言うのは難しいです。
:
はおそらく、あなたはそうのような、それ自身のC#のコードブロック内のカウンタ変数を有することが意図しましたか?私はいくつかの奇妙な設定でjavascriptとC#が混在していると思います。 – jfar