3

次のコードがあります。Razor ビューで Html を使用し、ドロップダウン リストにバインドするために KnockOut JS を使用しています。

ご覧のとおり、td は for each の一部であり、インデックスを一意にする必要があるため、インデックスをプログラムで設定しました。

私が直面している問題はオプションセクションにあります。実際にハードコーディングすることによってのみインデックスを設定できます。

誰かが次のように設定する方法を教えてください:

オプション: viewModel.MyForm.Items()[' + Index() + '].SubItems()[' + Index() + '].MyItemsList()、値: viewModel.MyForm.Items()[' + Index( ) + '].SubItems()[' + Index() + '].Id, これに関するヘルプをいただければ幸いです。

どうもありがとうございました。

<td>
<select data-bind="attr: { name: 'MyForm.Items[' + Index() + '].SubItems[' + Index() + '].Id', 
id: 'MyForm_Items[' + Index() + '].SubItems[' + Index() + ']._Id'}, 
options: viewModel.MyForm.Items()[0].SubItems()[0].MyItemsList(), value: viewModel.MyForm.Items()[0].SubItems()[0].Id, 
optionsCaption: 'Select', optionsText: 'Text', optionsValue: 'Value'"
data-val-required="Required." data-val-number="The field must be a number" data-val="true"></select></td>
4

1 に答える 1

0

明確にするために、モデルの一部と一致するように TD に一意の ID を持たせる必要がありますか? それ以外の場合は、 for each ループの前後に移動し、ドロップダウン リスト内に項目を作成します。

<td><select name='subitems' id='subitems'>
@{foreach (blah in ViewModel.MyForm.Items)
   {
      ...          
   }
}
</select>

于 2012-10-08T21:13:27.803 に答える