繁体   English   中英

asp.net 5 / mvc 6 /模型活页夹/角形

[英]asp.net 5 / mvc 6 / model binder / angular

我不知道,因为当我按角度进行发布时,不会填充对象,例如类别或状态。 只是产品。 但是,请注意,Request.Form列表中包含该信息。 活页夹执行不正确。 我究竟做错了什么? 它是任何Web API配置吗? 我尝试通过application / json发送数据,[frombody] ...我没有选择。 提前致谢。

 var product = { id: 1, name: "Name", categories: [ { id: 1, name: "name 1" }, { id: 2, name: "name 2" } ], status: { id: 1, name: "active" } }; var config: ng.IRequestConfig; config = { url: "", method: "POST", headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;' } }; self.$http.post("api/produto", $.param(product), config) .success(function () { alert("OK"); }); 

    [HttpPost]
    public ProductInfo Post(ProductInfo item)
    {
        return item;
    }


模特形象

索取图片

尝试这个:

$http({
        url: "api/produto",
        method: "POST",
        data: product,
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    })
    .then(function(response) {
            // success
    }, 
    function(response) { // optional
            // failed
    });

或者,您可以使用快捷方式:

$http.post('api/produto', data).then(successCallback, errorCallback);

这是我会尝试的

var product = {
  id: 1,
  name: "Name",
  categories: [
    { id: 1, name: "name 1" },
    { id: 2, name: "name 2" }
  ],
  status: { id: 1, name: "active" }
};

var config: ng.IRequestConfig;
config = { url: "", method: "POST", headers: { 'Content-Type': 'application/json;charset=utf-8;' } };

self.$http.post("api/produto", product, config)
.success(function () {
  alert("OK");
});

不同的是,我发送了实际的JavaScript对象,并将其序列化为JSON。 Web API将能够将JSON反序列化为纯C#对象。

试图匹配键/值对通常只是对复杂对象的疯狂。

没有办法做到。

我要么创建一个自定义模型活页夹,要么我将拥有新的Web API 6 mvc始终使用frombody并通过json强制运送。

至少那是我对测试所做的。 它只是发送json并使用frombody

该文档确实进行了更改,将用于此新集成模型的Web api 2绑定到MVC。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM