【问题标题】:Null data is received from angulajs to MVC controller从 angularjs 接收空数据到 MVC 控制器
【发布时间】:2019-03-06 19:54:23
【问题描述】:

亲爱的,我有两个类 Master 和 detail,分别由 Raterequest 和 Raterequestdetails 命名。我创建了一个包含它们的视图模型。在 Angularjs 中,我有一个包含 rate 的对象和一个包含 orderdetails 的列表。当我调试控制器时,收到的数据都是空的,这是代码

费率请求类

    public class RateRequests
{
    public int RateRequestsID { get; set; }
    public DateTime RateRequestsDate { get; set; }
    public string RateRequestName { get; set; }
    public string RateRequestType { get; set; }
    public string RateRequestMode { get; set; }
}

费率请求详细信息类

 public class RateRequestsLines
{
    public int RateRequestsLinesID { get; set; }
    public int RateRequestsID { get; set; }
    [ForeignKey("RateRequestsID")]
    public virtual RateRequests RateRequestsFK { get; set; }
    public short FCLCNTRS { get; set; }
    public short FCLCNTRSSIZE { get; set; }
    public string FCLCNTRSTYPE { get; set; }

}

费率请求视图模型

 public class RateRequestViewModel
{
    public RateRequests rate { get; set; }
    public IEnumerable<RateRequestsLines> ratelines { get; set; }
}

Angularjs

    var linkers = angular.module("linkers", [])
.service("linkersSrv", function ($http) {

    var urlBase = "/LinkersEgypt/";

    this.save = function (url, ratee) {
        return $http({
            method: "POST",
            url: urlBase + "/" + url,
            data: ratee,
            ̶a̶s̶y̶n̶c̶:̶ ̶f̶a̶l̶s̶e̶,̶
        })

    };

})
.controller("linkersCon", function ($scope, linkersSrv) {

    $scope.fcl = [];

    $scope.addFCL = function () {
        $scope.fcl.push({ FCLCNTRS: $scope.ncntrs, FCLCNTRSSIZE: $scope.csize, FCLCNTRSTYPE: $scope.ctype });
        console.log($scope.fcl);
    }

    $scope.save = function () {

        var ratee = {
            rate: {
                RateRequestsDate: $scope.rdate,
                RateRequestName: $scope.rname,
                RateRequestType: $scope.rtype,
                RateRequestMode: $scope.smode
            },
            RateRequestsLines: $scope.fcl
        };

        console.log(ratee);
        var promisepost = linkersSrv.save("RateRequest/AddAllRate", ratee);
        promisepost.then(function () {
            toastr.success("Successfully saved");

        })

    }
})

速率控制器

[HttpPost]
public JsonResult AddAllRate (RateRequestViewModel rate)
{
    return new JsonResult();
}

提前致谢

【问题讨论】:

  • 也许你的数据不匹配。尝试从角度对象和视图模型中删除一些字段以匹配,然后尝试一一添加
  • 好的,我会尝试然后通知
  • 数据仍然为空

标签: angularjs asp.net-mvc


【解决方案1】:
public RateRequests()
    {
        this.ratelines = new HashSet<RateRequestsLines>();
    }

    public int RateRequestsID { get; set; }
    public DateTime RateRequestsDate { get; set; }
    public string RateRequestName { get; set; }
    public string RateRequestType { get; set; }
    public string RateRequestMode { get; set; }


    public ICollection<RateRequestsLines> ratelines { get; set; }
}

[HttpPost]
    public JsonResult AddAllRate (RateRequestViewModel mainrate)
    {
        bool status = false;
        if (ModelState.IsValid)
        {
            using (ApplicationDbContext db = new ApplicationDbContext())
            {
                var raterequest = new RateRequests()
                {
                    RateRequestMode = mainrate.rate.RateRequestMode,
                    RateRequestName = mainrate.rate.RateRequestName,
                    RateRequestsDate = mainrate.rate.RateRequestsDate,
                    RateRequestType = mainrate.rate.RateRequestType,

                };

                foreach (var i in mainrate.ratelines)
                {
                    raterequest.ratelines.Add(i);
                }

                db.raterequests.Add(raterequest);
                db.SaveChanges();
                status = true;
            }

        }
        else
        {
            status = false;
        }
        return new JsonResult { Data = new { status = status } };
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    相关资源
    最近更新 更多