asp.net-mvc - 如何使用 MVC 和 jQuery AJAX 传递对象?

标签 asp.net-mvc ajax asp.net-ajax jquery

在学习了多年的 ASP.NET 之后,我终于开始尝试并尝试学习 MVC。
我习惯使用 asp.net AJAX PageMethods,您可以传递一个对象,该对象会自动解析为该方法中参数的任何类型。

Javascript:

PageMethods.AddPerson({First:"John",Last:"Doe"});

隐藏代码:

[WebMethod]
public static Result AddPerson(Person objPerson)
{
    return Person.Save();
}

如何使用 MVC 和 jQuery 做到这一点?
只需发送字符串并将 json 解析为对象吗?

最佳答案

这取决于您的表单数据的复杂程度。让我们使用 jQuery 示例:

$.ajax({
    url: '\Persons\AddPerson', // PersonsController, AddPerson Action
    data: { First: "John", Last: "Doe" },
    type: 'POST',
    success: function(data, status)
    {
        alert('Method called successfully!');
    }
});

所以我们发布两条数据。如果 Person 类有两个名为“First”和“Last”的属性,那么默认的 ASP.NET MVC Model Binder 将此表单数据放入这些属性中应该没有问题(其他所有内容都将是默认的)。

当然,您始终可以为 Person 类型创建自定义模型绑定(bind)器,然后您可以采用所需的任何形式值并将它们放入任何属性中,或者调用其他类型的逻辑。

关于asp.net-mvc - 如何使用 MVC 和 jQuery AJAX 传递对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2723456/

相关文章:

asp.net-mvc - 如何在 jQuery $.ajax() post 请求中将模型发送到 MVC Controller 方法

asp.net-mvc - 如何忽略 MVC4 WebAPI 配置中的路由?

mysql - 如何在 AJAX 中迭代一组数据库结果

asp.net - Visual Studio 2008 设计图面错误 : "The operation could not be completed. Invalid formatetc structure."

javascript - 为什么我的回调函数不起作用?

asp.net-mvc - 如何为 Razor View 引擎获取 IntelliSense

asp.net - 如何从 Asp.Net MVC 中的 Context.Request 获取 BaseUrl?

php - 我的写入文件夹总是清空

php - PHP 刷新可以与 jQuery ajax 一起使用吗?

c# - 如何检查表格何时插入新行,然后使用 UpdatePane 自动更新 Repeater