我正在尝试从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
}
答案 0 :(得分:1)
因为你希望你的行动中有一个字符串。字符串化值数组(多选择在执行val()
时返回一个数组):
即。尝试
$("#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
,则无需进行字符串化。