0

我的 MVC 表单有两个具有相同 ID 和名称的下拉列表。后端数据表只有一个字段取选定值。该字段与包含这些下拉列表中所有值的查找表相关联。这两个下拉列表中的每一个都仅包含基于其使用类型的值的子集。我这样做是为了我可以在客户端使用 jQuery 来排他地显示下拉菜单。例如,当在第一个下拉菜单中进行非空白选择时,脚本将隐藏第二个下拉菜单,反之亦然。如果在任一下拉菜单中选择了空白选项,则会显示两个下拉菜单。由于回发表单将包含一个包含两个项目的数组。默认绑定器会自动绑定到包含非空值的数组项吗?如果这不是正确的方法,我很感激任何建议。

4

1 回答 1

0

我会以两种不同的方式之一来解决这个问题:

  1. 创建一个视图模型,其中包含两个可选字段,并正确命名和标识您的表单字段。拥有多个具有相同 ID 的元素是无效的,并且无论如何您都在为以后使用 jQuery 选择器打开大门。
  2. 另一种选择是使用 jQuery 通过 Ajax 提交表单。同样,要获得有效的 HTML,请正确命名表单,但是当您在 Ajax 请求中传递值时,您只需分配具有您正在查找的值的那个。

作为旁注,我不确定这是否适用于您的设计,但您也可以探索只有一个下拉菜单并使用对上下文有效的子集结果填充下拉菜单的想法。例如,您可以让用户使用 Twitter.Bootstrap 之类的按钮组选择路径 A/B:http: //twitter.github.com/bootstrap/javascript.html#buttons

干杯。

于 2012-06-17T22:18:12.597 回答