我有一个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。
我完全不喜欢这种方法吗?非常感谢任何帮助。
感谢。
答案 0 :(得分:1)
您需要在输入名称及其值之间创建映射。模型绑定器将会看到:
User.Name=username
User.FirstName=Bill
User.LastName=Gates
...
作为请求中的表单参数。尝试使用serialize方法。
$('form').serialize()
为AJAX调用构造参数。