簡體   English   中英

將復雜的嵌套對象從AngularJS發布到C#WebAPI Controller

[英]Post complex nested object from AngularJS to C# WebAPI Controller

我想將AngularJS的JavaScript對象發布到C#Api中,將發布簡單類型,但不發布對象和對象數組

var event = {
                        dateDebut: dateDebut,
                        heureDebut: heureDebut,
                        heureFin: heureFin,
                        invites: invites,// Array Of Object 
                        titreRdv: titreRdv,
                        userEmail: EmailGoogle
                    }

$http.post(CreateRdvPath, event)
                    .success(function (data) {
                       // Success code
                    })
                    .error(function (data) {
                       // Error code
                    });

我的C#控制器功能

[HttpPost]
        public string createRdv(CalendarEvent MyEvent)
        {

        }

CalendarEvent

public class CalendarEvent
    {
        private string dateDebut, heureDebut, heureFin, titreRdv;
        private string userEmail;
        private List<Utilisateur> invites;

    }

您必須為包含其他對象的任何類提供默認構造函數。 在您的情況下,添加此構造函數以初始化對象。

public class CalendarEvent
{
    public CalendarEvent()
    {
        invites = new List<Utilsateur>();
    }

    private string dateDebut, heureDebut, heureFin, titreRdv;
    private string userEmail;
    private List<Utilisateur> invites;
}

然后,這應允許框架正確解析對象。

您的$http.post應該以服務器端操作參數名稱的{MyEvent: event}傳遞數據

$http.post(CreateRdvPath, {MyEvent: event})
.success(function(data) {
  // Success code
})
.error(function(data) {
  // Error code
});

要么

$http.post(CreateRdvPath, JSON.stringify({MyEvent: event}))
.success(function(data) {
  // Success code
})
.error(function(data) {
  // Error code
});

暫無
暫無

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

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