相关疑难解决方法(0)

通过AJAX将数组传递给mvc Action

我正在尝试将通过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,以便控制器可以识别它是什么?

非常感谢您的帮助

戴夫

c# asp.net-mvc jquery

121
推荐指数
5
解决办法
15万
查看次数

使用ajax javascript将int数组传递给MVC控制器

我在这做错了什么?

我可以成功地将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)

javascript ajax asp.net-mvc

3
推荐指数
1
解决办法
6937
查看次数

标签 统计

asp.net-mvc ×2

ajax ×1

c# ×1

javascript ×1

jquery ×1