我有以下一点代码。我在我的Razor视图中使用Html,并将KnockOut JS绑定到我的下拉列表。
正如您所看到的,我已经以编程方式设置了索引,因为td是每个的一部分,我需要索引是唯一的。
我面临的问题是在选项部分,我只能通过实际硬编码来设置索引。
有人可以告诉我如何设置它,如下所示:
选项:viewModel.MyForm.Items()['+ Index()+']。SubItems()['+ Index()+']。MyItemsList(), value: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>
答案 0 :(得分:0)
为了澄清,您是否需要让TD携带一个唯一的ID来匹配您的模型的一部分? 否则,在每个循环之前和之后移动到,并在下拉列表中构建项目。
<td><select name='subitems' id='subitems'>
@{foreach (blah in ViewModel.MyForm.Items)
{
...
}
}
</select>