[英]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.