Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menghantar Tatasusunan Objek Kompleks ke Pengawal ASP.NET MVC Menggunakan JSON?

Bagaimana untuk Menghantar Tatasusunan Objek Kompleks ke Pengawal ASP.NET MVC Menggunakan JSON?

Susan Sarandon
Susan Sarandonasal
2025-01-01 02:28:09359semak imbas

How to Pass Arrays of Complex Objects to ASP.NET MVC Controllers Using JSON?

Melalukan Tatasusunan Objek Kompleks kepada Pengawal ASP.NET MVC

Dalam senario ini, anda berusaha untuk menghantar tatasusunan objek kompleks kepada tindakan pengawal. Untuk mencapai ini, beberapa langkah diperlukan.

Menyediakan Paparan

Kod yang disediakan dalam soalan sudah menyediakan tatasusunan objek. Kuncinya di sini ialah mengubah tatasusunan ini menjadi format JSON yang boleh dihuraikan oleh pengawal. Untuk melakukan ini, gunakan fungsi $.toJSON() daripada pustaka jQuery, seperti yang dilihat dalam kod paparan penyelesaian yang dipertingkatkan:

function getplaceholders() {
    // ...
    var postData = { widgets: results };
    $.ajax({
        // ...
        data: $.toJSON(widgets),
        // ...
    });
}

Menghiasi Tindakan Pengawal

Untuk tindakan pengawal menerima dan memproses data JSON, tindakan itu perlu dihiasi dengan atribut tersuai. Dalam kes ini, kami menggunakan atribut JsonFilter:

[JsonFilter(Param = "widgets", JsonDataType = typeof(List<PageDesignWidget>))]
public JsonResult SaveOrUpdate(List<PageDesignWidget> widgets)

Sifat Param menentukan nama parameter yang akan menerima data JSON dan JsonDataType mentakrifkan jenis data yang dijangkakan untuk penyahserikatan.

Fungsi Atribut Tersuai

Pelaksanaan JsonFilterAttribute memintas permintaan HTTP dan menyemak sama ada ia mengandungi kandungan JSON. Jika ya, ia menyahsiri JSON ke dalam jenis data yang ditentukan menggunakan JsonConvert.DeserializeObject daripada Json.NET dan memberikannya kepada parameter tindakan yang sepadan.

public class JsonFilter : ActionFilterAttribute
{
    // ...
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        // ...
        var result = JsonConvert.DeserializeObject(inputContent, JsonDataType);
        filterContext.ActionParameters[Param] = result;
    }
}

Dengan mengikuti langkah ini, anda boleh berjaya melepasi tatasusunan kompleks objek dari pandangan anda ke pengawal ASP.NET MVC anda.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Tatasusunan Objek Kompleks ke Pengawal ASP.NET MVC Menggunakan JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn