首頁 > 後端開發 > C++ > 如何使用 JSON 和 jQuery 將複雜物件陣列發佈到 ASP.NET MVC 控制器?

如何使用 JSON 和 jQuery 將複雜物件陣列發佈到 ASP.NET MVC 控制器?

Mary-Kate Olsen
發布: 2025-01-02 20:25:38
原創
919 人瀏覽過

How to Post an Array of Complex Objects to an ASP.NET MVC Controller Using JSON and jQuery?

使用JSON 和jQuery 將復雜對像數組發佈到ASP.NET MVC 控制器

問題:

如何將複雜物件陣列傳遞給ASP.NET MVC控制器動作,以及控制器動作應該接受哪些參數?

控制器動作方法:

控制器動作方法應該有一個 IList 類型的參數。

客戶端程式碼:

使用jQuery,將物件陣列轉換為JSON 字串,並透過AJAX 請求使用正確的資料類型和內容類型標頭將其發送到控制器。

客戶端程式碼- 增強:

為了更好地處理JSON 內容,請使用Json.NET 函式庫並將JsonDataType 設定為要反序列化的陣列類型。這允許 ASP.NET MVC 操作直接綁定到反序列化對象,無需手動解析。

ASP.NET MVC 控制器操作裝飾:

裝飾控制器操作自訂屬性,如[JsonFilter],用於攔截傳入的JSON 請求並將正確的物件反序列化到操作中參數。

JsonFilter屬性碼:

public class JsonFilter : ActionFilterAttribute
{
    public string Param { get; set; }
    public Type JsonDataType { get; set; }
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (filterContext.HttpContext.Request.ContentType.Contains("application/json"))
        {
            string inputContent;
            using (var sr = new StreamReader(filterContext.HttpContext.Request.InputStream))
            {
                inputContent = sr.ReadToEnd();
            }
            var result = JsonConvert.DeserializeObject(inputContent, JsonDataType);
            filterContext.ActionParameters[Param] = result;
        }
    }
}
登入後複製

以上是如何使用 JSON 和 jQuery 將複雜物件陣列發佈到 ASP.NET MVC 控制器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板