0

我正在尝试从 MVC4 中的 ListBox 中检索多个选定的值。使用下面的代码,我只能检索第一个值,其余选定值不会显示在 ActionResult 函数中。

不知道出了什么问题。如果有人可以提供帮助,那就太好了,因为我找不到有关此特定问题的任何在线帖子。谢谢

我有以下 html、Jquery 和 c# 代码:

@Html.ListBoxFor(m=>m.id, Model.Codes)

 $("#ListBoxID").change(function () {
            if ($(this).val() != "") {
                $("#div").load('actionfunction', {
                    data: $('#ListBoxID').val(),
                });
            }
 });

public ActionResult actionFunction(string data)
{
         // code here BUT 
}
4

1 回答 1

1

因为您希望您的操作中有一个字符串。对值数组进行字符串化(多选在执行时返回一个数组val()):

IE。尝试

  $("#div").load('actionfunction', {
                data: JSON.stringify($('#ListBoxID').val()),
  });

将其简化为:

$("#ListBoxID").change(function () {
    var value = $(this).val();
    if (value) {
        $("#div").load('http://www.google.com', {
            data: JSON.stringify(value),
        });
    }
});

如果您希望在您的操作中有一个数组string[] data,那么您不需要进行字符串化。

于 2013-09-20T18:27:49.807 回答