私はそれを稼働させることができました。
私のjQueryのテンプレート:テンプレートをロード
<script id="wagonTemplate" type="text/x-jquery-tmpl">
<tr>
<td>
<input type="checkbox" value="true" class="wagoncheck" name="wagons[${$item.getIndex()}].IsSelected" />
</td>
<td>
<input type="text" name="wagons[${$item.getIndex()}].WagonId" value="${WagonId}" style="width:120px" />
</td>
<td>
<input type="text" name="wagons[${$item.getIndex()}].WagonNumber" value="${WagonNumber}" style="width:20px" />
</td>
</script>
は方法:つまり
function loadWagons(trainId, partId) {
$.getJSON('/train/wagons/' + escape(trainId) + '?partNo=' + partId, function (data) {
$wagons = $('#wagons tbody');
$wagons.empty();
// the function used in the template to get an index.
var tmplOptions = {
getIndex: function getIndex() {
return $.inArray(this.data, data);
}
};
$("#wagonTemplate").tmpl(data, tmplOptions).appendTo($wagons);
});
}
:
あなたが名前を付ける必要がある、あなたのコントローラのアクションでYourModel[] items
引数を取得するにはitems[0].MyProperty' where
0 'という項目は配列内のインデックスに対応する必要があります。
jqueryテンプレートでインデックスを取得するには、テンプレート関数のオプションでメソッドを渡すだけです。私は答えの少し修正されたバージョンhereを使用しています。その答えで行われたようにアイテムを渡すことは、現在のアイテム上にthis
ポイントとして必要ではありません。