将ListBoxFor中存在的多个值传递给控制器​​,同时回发

时间:2010-07-13 12:58:17

标签: asp.net-mvc

我在我的应用程序中使用asp.net mvc 2.0,应用程序需要从ListBox中获取多个值,从视图到控制器。

scenerio是这样的,我有两个列表框说 ListBox1和ListBox2 ,并且在页面加载时,我最初加载了Listbox1的一些数据。

现在,用户可以将一些数据从一个Listbox1传输到Listbox2,然后想要选择控制器中ListBox2中存在的多个数据。

为此,我使用了两个“ListBoxFor”,并在视图中为ListBox控件提供了“IEnumerable”作为类的属性。

现在,当我将数据回发给控制器时,我的数据对应于我的类对象中的“ ListBox2 ”。

简而言之,我希望在回传表单的控制器中选择ListBox2中存在的多个数据。

请提供帮助,并为此提供样品。

1 个答案:

答案 0 :(得分:0)

http帖子不会包含选择框中的所有值,只会包含所选的值。你可以使用javascript来选择所有值(确保select设置为多个),但这不是我喜欢的方式,因为它改变了页面对用户的看法。

我建议使用javascript将所选值添加到隐藏字段。它可以这样工作:

  1. 您的模型有一个列表选择
  2. on select,javascript用于从ListBox1移动到ListBox2
  3. 另外,一个新的和第二个
  4. 取消选择后,您将删除输入并使用索引更高的索引更新所有输入 - 1以保留顺序
  5. 然后当您发布时,数据将自动绑定到模型的选择列表。