1
私のビューはいくつかのjsコードを生成します。いくつかのプロパティを取得するために、モデルをインターフェイスタイプにキャストする必要があります。javascript文字列内のaspカミソリビューのキャストモデル
<script type="text/javascript" language="javascript">
var js_array = [];
@for (var i = 0; i < (Model as MyProject.Models.IMyInterface).PropertyList.Count; i++) {
<text>
js_array['@(Model as MyProject.Models.IMyInterface).PropertyList[i].id'] = {};
</text>
}
</script>
私が得た:ここ
は一例です<script type="text/javascript" language="javascript">
var js_array = [];
js_array['MyProject.Models.MyModelType.PropertyList[i].id'] = {};
js_array['MyProject.Models.MyModelType.PropertyList[i].id'] = {};
js_array['MyProject.Models.MyModelType.PropertyList[i].id'] = {};
js_array['MyProject.Models.MyModelType.PropertyList[i].id'] = {};
js_array['MyProject.Models.MyModelType.PropertyList[i].id'] = {};
js_array['MyProject.Models.MyModelType.PropertyList[i].id'] = {};
js_array['MyProject.Models.MyModelType.PropertyList[i].id'] = {};
js_array['MyProject.Models.MyModelType.PropertyList[i].id'] = {};
</script>
しかし、私は必要があります。
<script type="text/javascript" language="javascript">
var js_array = [];
js_array['1'] = {};
js_array['2'] = {};
js_array['3'] = {};
js_array['4'] = {};
js_array['5'] = {};
js_array['6'] = {};
js_array['7'] = {};
js_array['8'] = {};
</script>
あなたは価値の代わりにこの表示タイプを見ることができるように...
どのように修正できますか?
その理由は '@()'が '()'に含まれているものだけを解析する特別なブロックであるからです。あなたのコードは '()'のクラスだけを持っているので、クラスの 'ToString'を呼び出し、' .PropertyList ... 'はもはや' @ 'の制御下にないので通常の出力とみなされます。 – Buildstarted