簡體   English   中英

從AngularJS到ASP.NET MVC5的模型

[英]Model from AngularJS to ASP.NET MVC5

我從Angular發布到我的控制器時遇到一些問題。 如果我分別發布變量,那么一切都很好,但是當我將var組合成一個對視圖模型做出響應的對象時,它只能識別ID,而不能識別PlayerViewModel的列表。

這是我的viewModels:

public class PlayerViewModel
{
    public int ID { get; set; }
    public string Name { get; set; }
}

public class TeamViewModel
{
    public int ID { get; set; }
    public List<PlayerViewModel> Players;
}

這是我的MVC控制器:

[HttpPost]
    public JsonResult IndexPost(int ID, List<PlayerViewModel> ListPlayers, TeamViewModel Team)
    {
        return Json(true, JsonRequestBehavior.AllowGet);
    }

這是我的Angular代碼:

$scope.players = [];
            $scope.playerA = { ID: 5, Name: "Player1" };
            $scope.playerB = { ID: 6, Name: "Player2" };
            $scope.playerC = { ID: 8, Name: "Player3" };
            $scope.players.push($scope.playerA);
            $scope.players.push($scope.playerB);
            $scope.players.push($scope.playerC);

            $scope.ID = 7;

            $scope.team = { ID: $scope.ID, Players: $scope.players };

            $scope.btnClick = function () {
                $http({
                    traditional: true,
                    url: "IndexPost",
                    method: "POST",
                    data: { 'ID': $scope.ID, 'ListPlayers': $scope.players, 'Team': $scope.team },
                    dataType: FormData
                }).success(function (data) {
                    $scope.finish = data;
                }).error(function (data) {
                    $scope.status = status;
                });
            }

這是我在控制器中的響應:

(這是保管箱中的圖片)

如您所見,我的TeamViewModel的ID是正確的,但是PlayerViewModels的列表不會填寫。有人知道我在做什么錯嗎?

謝謝!!

使用JSON.stringify序列化數據

var data = JSON.stringify({ 'ID': $scope.ID, 'ListPlayers': $scope.players, 'Team': $scope.team });

在原始代碼中,您將js對象設置為要發送的數據。 通過序列化,您將數據作為json發送,服務器可以讀取。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM