【问题标题】:Get ALL items in a SelectList within ASP.NET MVC controller获取 ASP.NET MVC 控制器中 SelectList 中的所有项目
【发布时间】:2009-08-10 12:26:57
【问题描述】:

有没有办法将 SelectList(多选)中的所有项目发布到控制器的方法中?默认情况下,当我使用 SelectList 时,它只会将所选项目发布到表单。

我在视图上有几个 MultiSelect 控件。使用 jQuery,用户可以将项目从 ListBox1 移动到 ListBox2,反之亦然。当表单发布时,我希望能够确定所有出现在 ListBox1 中的项目。但是,当我在控制器中评估 Form["ListBox1"] 时,它只会为我提供一个逗号分隔的 SELECTED 值列表 - 但我想要 ListBox1 中的所有项目。不仅仅是选定的。

如何让视图发布 ListBox1 中的所有项目,而不仅仅是选定的项目?

【问题讨论】:

  • 所有答案都假设您的客户启用了 js。在使用仅启用 js 的解决方案之前,请注意这一点并了解您的用户群
  • 如果客户端没有启用js,他们将无法将项目从一个列表框移动到另一个!
  • 为什么,你可以使用普通的 post 请求来实现这个!!
  • 应该使用 JQuery 来增强体验。不驱动它 100%
  • 感谢 cmets tsk 和 redsquare。如果我想允许用户在没有回发的情况下在客户端的列表框之间移动项目,那么我必须做出让 jQuery 驱动体验 100% 的不幸选择。我希望有另一种方式,因为我确实赞同 jQuery 应该只增强体验的概念。在这种情况下,我将破例。

标签: jquery asp.net-mvc controller selectlist


【解决方案1】:

您必须使用 javascript 来选择所有 ListBox 选项,然后所有选项都将发送到您的控制器。

请找到此link 以提供帮助。

【讨论】:

    【解决方案2】:

    如果您使用 jQuery 将项目从一个移动到另一个,为什么不使用 jQuery 用 ListBox1 中的所有项目填充隐藏的表单字段?

    【讨论】:

      【解决方案3】:

      这是一个不错的 jquery 插件,您可以使用:

      http://www.texotela.co.uk/code/jquery/select/

      您可以使用正则表达式选择选项,只选择所有内容

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-15
        • 2011-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-09
        • 2014-02-16
        相关资源
        最近更新 更多