3

我有以下代码。我在 Razor 视图中使用 Html 并使用 KnockOut JS 绑定到我的下拉列表。

如您所见,我以编程方式将索引设置为 td 是每个索引的一部分,并且我需要索引是唯一的。

我面临的问题是在选项部分,我只能通过实际硬编码来设置索引。

请有人可以告诉我如何设置它,它显示为:

选项: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 移动到每个循环之前和之后,并在下拉列表中构建项目。

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

于 2012-10-08T21:13:27.803 回答