AngularJs 将带有子集合的对象发布到 MVC WebAPI

2024-02-22

我正在开发一个 AngularJS 应用程序,服务 js 中的方法之一将数据发送到具有以下 C# 对象结构的 Web api

public class InvitationModel
{
    public string Name { get; set; }
    public string Email { get; set; }
    public EventModel[] EventList { get; set; }
}

public class EventModel
{
    public string EventName { get; set; }
    public int TotalAdults { get; set; }
    public int TotalChildren { get; set; }
    public bool IsAccepted { get; set; }
}

问题是,当我将此数据发布到 WEB API 方法时,除了保存集合的属性之外,我的父级属性已正确序列化。它始终设置为 null。

接收请求的Web API方法是:

[AllowAnonymous]
[Route("RSVP")]
[HttpPost]
public bool Submit(InvitationModel invitationModel)
{
    return true;
}

因此,名称和电子邮件序列正确,但是事件列表为 NULL

我确实检查了 javascript 端,我的 js 对象同时保存了数组和其他原始属性。我猜问题出在 .NET WebAPI 端。

发布的请求有效负载如下所示:

{   "Name":"John Doe",
    "EventList":{
        "0":{   "TotalAdults":"1",
                "TotalChildren":"2",
                "EventName":"Event 1 Name"
        },
        "1":{   "TotalChildren":"2",
                "TotalAdults":"2",
                "EventName":"Event 2 Name"
        },
        "2":{   "TotalAdults":"1",
                "TotalChildren":"1",
                "EventName":"Event 3 Name"
        }
    }
}

The EventListJSON 中是一个具有属性的对象"0", "1", etc.

我想它应该是一个 JSON 数组,即

{
    "Name":"John Doe",
    "EventList": [
        {"TotalAdults":"1","TotalChildren":"2","EventName":"Event 1 Name"},
        {"TotalChildren":"2","TotalAdults":"2","EventName":"Event 2 Name"},   
        ...
    ], ...

正确读入您的 C# 事件列表属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJs 将带有子集合的对象发布到 MVC WebAPI 的相关文章

随机推荐

  • PHP json_encode 不会转义所有 JSON 控制字符

    PHP的json encode函数没有转义所有原因吗JSON http www json org 字符串中的控制字符 例如 我们采用一个跨越两行并包含控制字符 r n 的字符串 请注意 回车符和换行符是未转义的 为什么 我使用 jQuery
  • 在迭代列表时将元素添加到列表中。 (Java)[重复]

    这个问题在这里已经有答案了 可能的重复 Java 在迭代期间向集合添加元素 https stackoverflow com questions 993025 java adding elements to a collection duri
  • C++ - 如何截屏(某些窗口除外)

    情况 我有一个通过 Internet 执行屏幕共享的软件 其中一个用户充当演示者 其他用户充当观众 与会者 除了演示窗口之外 演示者还会在屏幕上显示一组非共享窗口 用于开始共享 停止共享等的按钮栏 Skype 窗口等 演示者可以通过屏幕共享
  • 在 C++ 中扩展枚举?

    C 有没有办法扩展 继承 枚举 I E enum Enum A B C enum EnumEx public Enum D E F 或者至少定义它们之间的转换 不 那里没有 enum确实是 C 中的可怜之处 这当然是不幸的 即便是class
  • 包含conj的接口?

    作为练习 我正在开发一个类似于 Vector 的数据结构 我已经实现了 IPercientVector 扩展的所有接口 但我还没有找到定义 conj 的接口 那是哪个界面 谢谢 clojure lang IPersistentCollect
  • 与push()相反; [复制]

    这个问题在这里已经有答案了 JavaScript 的反义词是什么push method 假设我有一个数组 var exampleArray remove 我想要push 这个单词 keep exampleArray push keep 如何
  • “职称级别不一致”是什么意思?

    我在我的文档版本中收到了各种 标题级别不一致 的警告 据我所知 我有一个一致的结构 如下所示 Big Title Section Subsection 但该错误与自动生成相关 automodapi 我无法找到的文本 Classes 我怎样才
  • WP7从Tombstone恢复并返回页面

    从逻辑删除恢复时 是否有一种很好 优雅的方式返回用户所在的页面 我不确定我的应用程序是否正常工作 但我总是回到我的主页 我的应用程序设置了一个带有枢轴控件的主页 并且多个枢轴项目将导航到新页面 如果有意义的话 我的导航看起来像这样 数据透视
  • 谷歌放置自动完成API Android:边界不起作用

    我定义我的界限如下 private static final LatLngBounds BOUNDS CHENNAI new LatLngBounds new LatLng 12 8339547 80 0817007 new LatLng
  • Kubernetes 自动缩放容器

    是否可以自动缩放 docker 容器 其中包含 kubernetes 内的应用程序服务器 如 wildfly tomcat jetty 例如在 cpu 和 ram 使用或基于 http 请求 如果有一个内置功能 我找不到它 或者是否可以为此
  • 使用 PHP 实现 2 路加密的最佳方法是什么?

    我想在 PHP 中使用双向加密来加密我网站上的密码 我遇到过 mcrypt 库 但它看起来很麻烦 有人知道其他更简单但安全的方法吗 我确实可以访问 Zend Framework 因此使用它的解决方案也可以 我实际上需要双向加密 因为我的客户
  • 使用 ThreadStatic 来替换昂贵的本地变量——好主意吗?

    Update 正如我预料的那样 社区针对这个问题给出的合理建议是 衡量一下然后看看 chibacity 发布了 答案 https stackoverflow com questions 4864974 using threadstatic
  • 以编程方式在 Android 中配置第 3 方电子邮件帐户 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 禁用 JQuery 移动 UI 中的哈希更改控制器并替换为backbone.js

    我在用着jQuery 移动用户界面widgit 套件很不错 不过我也使用backbone js 它带有一个非常简洁的hashchange 控制器框架 问题是 JQuery Mobile UI 有一个内置的蹩脚哈希更改控制器 它假设您会alw
  • jQuery 缓动函数中有哪些不同的参数

    我看到 jQuery 的缓动函数位于https github com danro jquery easing blob master jquery easing js https github com danro jquery easing
  • 事务与批量查询以避免重复的 MySQL 插入

    我有一个PHP脚本 deleteAndReInsert php 删除所有行name Bob 然后插入 1000 个新行name Bob 这工作正常 最初的空表最终达到预期的 1000 行 query pdo gt prepare DELET
  • 合并数组中的对象并保留相同属性的最高值

    我有这个数组 我想合并其中的对象 null null 1 1 2 1 3 1 2 2 5 1 我考虑过使用这样的东西 var o1 a 1 b 1 c 1 var o2 b 2 c 2 var o3 c 3 var obj Object a
  • 合并到广告订单中

    我有一个看起来像这样的声明 MERGE INTO someTable st USING SELECT id field1 field2 etc FROM otherTable ot on st field1 ot field1 WHEN N
  • 获取正在运行的 java 进程的 java 版本

    我可以使用 jps 列出正在运行的 java 进程 并使用 jstack l process id 获取正在运行的 java 进程的堆栈信息 我想知道这个进程在哪个java版本上运行 有办法做到吗 我不必使用 jstack 工具 谢谢 js
  • AngularJs 将带有子集合的对象发布到 MVC WebAPI

    我正在开发一个 AngularJS 应用程序 服务 js 中的方法之一将数据发送到具有以下 C 对象结构的 Web api public class InvitationModel public string Name get set pu