我正在尝试将通过AJAX的int(或IEnumerable)数组传递给MVC操作,我需要一些帮助.
javascript是
$.get('/controller/MyAction', { vals: arrayOfValues }, function (data) {...
Run Code Online (Sandbox Code Playgroud)
并且控制器动作是
public ActionResult MyAction(IEnumerable<int> arrayOfValues )
Run Code Online (Sandbox Code Playgroud)
目前请求的格式为
controller/MyAction?_=1301503418429&arrayOfValues[]=491&arrayOfValues[]=368&arrayOfValues[]=235&arrayOfValues[]=437
Run Code Online (Sandbox Code Playgroud)
所以我几乎就在那里,如果我取下方括号,我会得到正确的答案.我应该如何将该数组传递给我的get,以便控制器可以识别它是什么?
非常感谢您的帮助
戴夫
我在这做错了什么?
我可以成功地将4个bool参数传递给控制器.现在我想将一个int数组传递给我的控制器,但是它不起作用 - 我在示例中留下了我的工作代码(注释掉了)所以你可以看到我没有改变那么多 - 我想我是错过了一些简单的东西(事后是17:44 !!!).我可以看到使用以下alert(rolesChecked);语句填充数组:
var rolesChecked = [];
$('[type="checkbox"].role-checkbox').each(function () {
if (this.checked)
{
rolesChecked.push($(this).val());
}
});
alert(rolesChecked);
//var administrator = $('#cbAdministrator').is(":checked");
//var manager = $('#cbManager').is(":checked");
//var technician = $('#cbTechnician').is(":checked");
//var transcriber = $('#cbTranscriber').is(":checked");
if (rolesChecked.count > 0){//administrator || manager || technician || transcriber) {
$.ajax({
url: '@Url.Action("GetFutureHolidays", "Employee")',
type: 'GET',
dataType: 'json',
// we set cache: false because GET requests are often cached by browsers
// IE is particularly aggressive in that respect
cache: …Run Code Online (Sandbox Code Playgroud)