[C#]angularjs 将复杂的数据发布到 WebApi 2

发布时间: 2017/2/24 2:56:28
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

JS:

$http.post("/api/Checkout/SaveOrderOption", { OrderOption: OrderOption })

C#

[HttpPost]
public void SaveOrderOption(object OrderOption)
{
    _Logger.Trace(OrderOption.ToJSON());
}

这是很奇怪。如果我只是反对,我可以得到我贴的正确原始 json 字符串。

{"OrderOption":{"xxxx":"xxx","www":true,"yyy":true}}

但如果我将类型更改为特定的类型,它不工作。

对象的数据将成为默认值而不是我发的值。

我试过 [FromBody] ,它也不起作用。

解决方法 1:

通过在对象中包装它,你有一个对象内的对象,我猜您的类型不能识别。 只是张贴对象本身,与期望它显式路由。

$http.post("/api/Checkout/SaveOrderOption", OrderOption)

[HttpPost]
[Route("Checkout/SaveOrderOption/{orderOption}")]
public void SaveOrderOption([FromBody]OrderOption orderOption)
{
    _Logger.Trace(orderOption.ToJSON());
}

public class OrderOption
{
    public string Xxxx { get; set; }
    public bool Www { get; set; }
    public bool Yyy { get; set; }
}
官方微信
官方QQ群
31647020