gpt4 book ai didi

jquery - 关于JSON和序列化的问题

转载 作者:行者123 更新时间:2023-12-01 04:25:23 24 4
gpt4 key购买 nike

我的 View 模型有一个强类型 View ,其中包含一个对象 Person 和一个技能列表。人是很直率的。我像这样使用 Html Helpers @Html.TextBoxFor(m => m.Person.FirstName) 。我提交表格并得到我想要的。

问题是我的技能列表。

通过 AJAX 调用,我得到一个 JSON 结果,它是一个技能数组。

我应该如何将技能和人员的组合发送到我的 HTTPPOST 方法?

我看到两种可能性。

  1. 我喜欢的一个,但不知道如何以正确的方式实现:以某种方式设法将此 JSON 结果放入我的 View 模型 ( List<Skill> skilllist ) 并使用标准提交按钮并在我的 HTTPPOST 方法中接收它,如下所示。 (参见内嵌评论)

    [HttpPost]
    public ActionResult RegisterPersonAndSkills(PersonSkillViewModel model)
    {
    // I can acces the Person object and its properties
    string firstname = model.Person.FirstName;

    // It would be awesome if I could access the list which used to be a JSONresult
    string skillname = model.SkillList[0].SkillName

    return null;
    }
  2. 尝试将表单(Person 对象部分)中的所有内容转换、序列化为 JSON 结果,将我拥有的技能 json 结果数组插入序列化 View 模型中,并通过模型绑定(bind)方式接收模型。与上面 post 方法的结果相同。我再次不确定如何实现这一点以及如何处理可能的验证问题。将 Person 的每个属性序列化为 JSON,并将 Person 对象和技能数组添加到 JSON PersonSkillViewModel 似乎需要做很多工作。

你会如何解决这个问题?

或者根本不可能在一个参数中获得两个结果?

最佳答案

实现所需结果#1 的最简单方法是通过客户端的隐藏字段将您在 AJAX 调用中收到的技能数组添加到 DOM。您必须使用默认模型绑定(bind)器使用的命名约定(我没有打开 VS,但是如果您在 GET 方法上填充您的技能数组并为每个添加一个 Html.HiddenFor<>你应该看到语法。)

所以基本上你需要一些 JS 来处理 JSON 请求客户端并将其添加到 DOM...这只是 Jquery 的几行,但你没有提到你如何获取技能数组 Ajax 请求.

关于jquery - 关于JSON和序列化的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com