【问题标题】:asp.net 5 / mvc 6 / model binder / angularasp.net 5 / mvc 6 / 模型活页夹 / 角
【发布时间】:2015-11-12 13:39:57
【问题描述】:

我不知道,因为当我按角度发帖时,不会填充对象,例如类别或状态。只是产品。 但是,请注意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;
    }


model image

request image

【问题讨论】:

    标签: angularjs asp.net-core-mvc modelbinder


    【解决方案1】:

    试试这个:

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

    【讨论】:

      【解决方案2】:

      或者你可以使用快捷方式:

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

      【讨论】:

        【解决方案3】:

        这就是我要尝试的方法

        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# 对象。

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

        【讨论】:

          【解决方案4】:

          没有办法。

          要么创建自定义模型绑定器,要么让新的 web api 6 mvc 始终使用 frombody 并通过 json 强制发送。

          至少我的测试是这样的。 它只需发送 json 并使用 frombody

          文档,确实改变了将这个新集成模型的 web api 2 绑定到 MVC。

          【讨论】:

            猜你喜欢
            • 2016-03-08
            • 1970-01-01
            • 1970-01-01
            • 2015-12-11
            • 1970-01-01
            • 1970-01-01
            • 2016-02-12
            • 1970-01-01
            • 2016-03-15
            相关资源
            最近更新 更多