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
Lepaskan: 2025-01-01 02:28:09
asal
281 orang telah melayarinya

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),
        // ...
    });
}
Salin selepas log masuk

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)
Salin selepas log masuk

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;
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan