加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Web api删除方法输入对象参数为null

发布时间:2020-12-16 03:59:43 所属栏目:asp.Net 来源:网络整理
导读:在我的WebAPI asp.net mvc控制器Delete方法中,传入的名为contact的对象即将出现.我已经检查了我的代码,我无法找出根本原因.我的编辑操作以非常类似的方式成功运行. 那么是什么导致webapi asp.net方法中的联系对象参数作为空值进入? 我已经如图所示检查了角
在我的WebAPI asp.net mvc控制器Delete方法中,传入的名为contact的对象即将出现.我已经检查了我的代码,我无法找出根本原因.我的编辑操作以非常类似的方式成功运行.

那么是什么导致webapi asp.net方法中的联系对象参数作为空值进入?

我已经如图所示检查了角度控制器内的接触对象在传递给webapi delete方法之前不是null.

Here is my rest of the code 

  <div data-ng-controller="ContactDeleteController">
        <form name ="deleteContact" data-ng-submit="saveDeleteContact()">
            <div>
                <label>First Name: </label>
                <input required type="text" placeholder="Enter First Name" data-ng-model="contact.FirstName"/>
            </div>
            <div>
                <label>Last Name: </label>
                <input required type="text" placeholder="Enter Last Name" data-ng-model="contact.LastName"/>
            </div>
            <div>
                <label>Email Address: </label>
                <input required type="text" placeholder="Enter Email Address" data-ng-model="contact.EmailAddress"/>
            </div>
            <div>
                <label>Cell Phone Number: </label>
                <input required type="text" placeholder="Enter Phone Number" data-ng-model="contact.PhoneNumber"/>
            </div>
            <div></div>
            <div>
                <button class="btn btn-primary" type="submit">Delete</button>
            </div>
        </form>
    </div>



    var ContactDeleteController = function ($scope,$http,$location) {
        var contactId = $location.absUrl().match(//Delete/(.*)/)[1];
        $http.get("/api/ContactWeb/" + contactId)
            .then(function (response) {
                $scope.contact = response.data;
            });

        $scope.saveDeleteContact = function () {
            var con = $scope.contact;
            $http.delete("/api/ContactWeb",con)
                .then(function (response) {
                    $scope.contact = response.data;
                });
            window.location = "/Contact/Index";
        };
    };

解决方法

HTTP不允许DELETE与body.尝试在URI(查询字符串等)中发送参数,并在Web API中使用[FromUri]将数据绑定到复杂类型Contact中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读