У меня возникла проблема с передачей массива javascript на контроллер. У меня есть несколько флажков на моем представлении, когда установлен флажок, его идентификатор будет сохранен в массиве, а затем мне нужно будет использовать этот массив в контроллере. Вот код:ASP.NET MVC - массив Javascript всегда передавался контроллеру как null
ВИД:
<script type="text/javascript">
var selectedSearchUsers = new Array();
$(document).ready(function() {
$("#userSearch").click(function() {
selectedSearchUsers.length = 0;
ShowLoading();
$.ajax({
type: "POST",
url: '/manage/searchusers',
dataType: "json",
data: $("#userSearchForm").serialize(),
success: function (result) { UserSearchSuccess(result); },
cache: false,
complete: function() { HideLoading(); }
});
});
$(".userSearchOption").live("change", function() {
var box = $(this);
var id = box.attr("dataId");
var checked = box.attr("checked");
if (checked) {
selectedSearchUsers.push(id);
}
else {
selectedSearchUsers.splice(selectedSearchUsers.indexOf(id), 1);
}
});
$("#Send").click(function() {
var postUserIDs = { values: selectedSearchUsers };
ShowLoading();
$.post("/Manage/ComposeMessage",
postUserIDs,
function (data) { }, "json");
});
});
</script>
Когда «Отправить» кнопка нажата, я хочу, чтобы передать selectedSearchUsers к действию «ComposeMessage». Вот код действия:
public JsonResult ComposeMessage(List<String> values)
{
//int count = selectedSearchUsers.Length;
string count = values.Count.ToString();
return Json(count);
}
Однако значения List всегда равны нулю. Любая идея почему?
спасибо.
Похож на этот вопрос http://stackoverflow.com/questions/2527658/jquery-sortable-toarray-with-asp-net-mvc-actionresult – R0MANARMY
Я пробовал это решение, но все еще получаю null при передаче массива в мой контроллер. Кто угодно? Благодарю. –