首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用jQuery序列化MVC格式

用jQuery序列化MVC格式
EN

Stack Overflow用户
提问于 2016-10-24 13:13:43
回答 1查看 1.1K关注 0票数 1

是否可以像MVC引擎一样使用jQuery来序列化MVC表单?准确地说,通过足够聪明地将输入数据“组装”到模型对象中?

例如,假设这是我的简单模型:

代码语言:javascript
运行
复制
public List<Person> People {get;set;}

这是我的表格:

代码语言:javascript
运行
复制
<form>
    <input name="People[0].Id" value="9B776FB9-28B9-4364-A320-22E00A3E05D4" type="hidden">
    <input name="People[0].Name" value="Jon Doe" type="hidden">
</form>

预期结果:

代码语言:javascript
运行
复制
People: [
    {
        Id: "9B776FB9-28B9-4364-A320-22E00A3E05D4",
        Name: "Jon Doe"
    }
]

我尝试使用$("form").serialize(),但这是返回的Json:

代码语言:javascript
运行
复制
[
    {
        name: "People[0].Id",
        value: "9B776FB9-28B9-4364-A320-22E00A3E05D4"
    },
    {
        name: "People[0].Name",
        value: "Jon Doe"
    }
]

正如您所看到的,它所做的只是将每个输入作为一个单独的对象返回,而不是“理解”这两个输入代表同一个对象的每个属性。

我有办法做到这一点吗?

JsFiddle:https://jsfiddle.net/abu6mh1z/

EN

回答 1

Stack Overflow用户

发布于 2016-10-24 15:30:08

我已经在我的项目中使用了序列化表单对象。

您必须编写下面的代码来序列化form对象。

代码语言:javascript
运行
复制
var formId = '#form2';

var SData = $(formId).serialize();

您必须在视图索引中定义表单。

代码语言:javascript
运行
复制
<form id="form2">

如果使用Post方法,则需要在操作中定义HttpPost。

您在Index中使用的模型,与您需要用作Action中的参数的模型相同。请检查以上条件,您一定能够序列化表单对象,如果您失败了,请告诉我我们会解决您的问题。

谢谢。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40219427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档