0

私はMVC+Razorを使用しており、可能な場合は強い型の世界にとどまりたいと考えています。

したがって、Razor構文を使用してビューモデルを反復処理し、配列インデックスを介してデータバインドしてノックアウトすることを望んでいます。

これは実行可能ですか?これまでに見たすべての例では、for-eachテンプレートを使用できません。

@Html.TextBoxFor(_ => _[i],new {@readonly = "readonly", data_bind = string.Format("value:[{0}]",i) });

強く型付けされたモデルが配列であり、上記がforループ内から繰り返されている場合。

4

1 に答える 1

1

元のjsfiddleの@nemesvのおかげで、どういうわけかこれが機能します:

<input type="text" data-bind="value: $data[0].name"></input>
<input type="text" data-bind="value: $data[1].name"></input>
<input type="text" data-bind="value: $data[2].name"></input>

次のjavascriptファイルを使用します。

var ViewModel = ko.observableArray( [{
        name: 'name1'
    }, {
        name: 'name2'
    }, {
        name: 'name3'
    }]
);

ko.applyBindings(ViewModel);

$dataがないと動作しません。これがなぜなのかはまだわかりません。

http://jsfiddle.net/8pVEr/3/

于 2013-02-15T21:40:45.197 に答える