Я пытаюсь извлечь несколько выбранных значений из списка ListBox в MVC4. Используя приведенный ниже код, я могу получить только первое значение, и оставшиеся выбранные значения не отображаются в функции ActionResult.
Не уверен, что случилось. Было бы здорово, если кто-то может помочь, поскольку я не могу найти какие-либо онлайн-сообщения по этой конкретной проблеме. благодаря
У меня есть следующий код html, Jquery и С#:
@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
}
Поскольку вы ожидаете строку в своем действии. Строка массива значений (multi-select возвращает массив при выполнении 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
массива string[] data
вам не нужно будет стягивать.