使用JQuery异步请求模型绑定的操作方法

时间:2009-04-10 20:19:08

标签: jquery asp.net-mvc ajax

我有一个ASP.NET MVC操作方法,它使用模型绑定来接受强类型模型对象作为其输入,即:

public PartialViewResult SaveUser([Bind(Prefix = "User")]User NewUser)
{
}

如何在与JQuery异步请求此方法时指定参数?我以前使用load()或post()方法来发出异步请求,但这只有一个或两个命名参数。如何将带有异步请求的整个表单数据传递给此方法?

这是我尝试过的一种方法:

$.post('/Users/SaveUser/', { NewUser: $('#theForm') }, function(responseText, status) {
    $('#mainContent').text(responseText);
}, 'html');

我在action方法中添加了一个断点,并且NewUser参数为null。

我完全不喜欢这种方法吗?非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

您需要在输入名称及其值之间创建映射。模型绑定器将会看到:

User.Name=username
User.FirstName=Bill
User.LastName=Gates
...

作为请求中的表单参数。尝试使用serialize方法。

$('form').serialize()

为AJAX调用构造参数。