ASP.NET MVC3通过jquery ajax帖子将一段数据传递给MVC动作

时间:2012-01-13 18:24:58

标签: jquery ajax json asp.net-mvc-3

我试图将数据传递给期望1个整数参数的MVC后期操作。

[HttpPost]
public ActionResult DeactivateDepartment(int departmentId)
{
    return Json(new
        {
            success = _departmentsRepository.ToggleDepartmentState(departmentId, false)
        });
}

我试图用来点击此动作的jquery看起来像这样......

var departmentId = 1;
$.ajax({
    url: '/Manage/DeactivateDepartment',
    type: 'POST',
    dataType: 'json',
    success: function (data) {
        alert(data);
    },
    data: departmentId
});

当我从Action方法中取出参数并从jquery ajax对象中删除data属性时,我成功地能够点击action方法。但是,使用动作methhod和ajax对象,因为它们在这里显示我收到内部服务器错误。

我一直在看这篇文章。 jQuery AJAX works to return mvc 3 partial view but jQuery load doesn't

它展示了如何传递一个json对象,当它点击动作方法时会被反序列化为对象,但是我不想创建一个自定义类只是为了接收这个一个整数值而我# 39;我试图传递给方法。如何配置这个东西只接受一个值?

1 个答案:

答案 0 :(得分:1)

尝试

var departmentId = 1; 
$.ajax({ 
    url: '/Manage/DeactivateDepartment', 
    type: 'POST', 
    success: function (data) { 
        alert(data); 
    }, 
    data: {departmentId:  departmentId } 
});