Rumah >pembangunan bahagian belakang >C++ >Kenapa aplikasi ASP.NET MVC menyampaikan enums sebagai nombor bukan rentetan, dan bagaimana saya boleh memperbaikinya?

Kenapa aplikasi ASP.NET MVC menyampaikan enums sebagai nombor bukan rentetan, dan bagaimana saya boleh memperbaikinya?

DDD
DDDasal
2025-01-26 11:21:10564semak imbas

Why Does My ASP.NET MVC Application Serialize Enums as Numbers Instead of Strings, and How Can I Fix It?

Penyelesaian masalah ASP.NET MVC's Default JSON Serialization of Enums

Aplikasi ASP.NET MVC secara tidak disangka bersiri sebagai enums sebagai nombor dalam respons JSON, walaupun json.net dianggap sebagai serializer lalai. Artikel ini mendiagnosis punca akar dan menawarkan penyelesaian.

Memahami Serializer lalai

bertentangan dengan kepercayaan umum, Serializer JSON Default ASP.NET MVC 4 adalah

, bukan json.net. Ini menjelaskan mengapa perwakilan rentetan yang dijangkakan enum tidak berlaku. Masalahnya bukan tetapan yang hilang. JavaScriptSerializer web.config

Melaksanakan json.net sebagai serializer lalai

Untuk memanfaatkan keupayaan JSON.net dan bersiri enum sebagai rentetan, konfigurasi tersuai adalah penting. Ini melibatkan mewujudkan kelas

adat dan mengkonfigurasinya seperti yang diterangkan dalam penyelesaian yang dirujuk.

JsonNetResult

Memastikan model yang betul mengikat dengan json.net

Untuk model lancar mengikat apabila menggunakan json.net, custom

diperlukan. Kilang tersuai ini perlu didaftarkan, menggantikan lalai

, seperti yang ditunjukkan dalam contoh kod yang disediakan. Sumber yang dirujuk memberikan arahan terperinci untuk pelaksanaan ini. ValueProviderFactory

Atas ialah kandungan terperinci Kenapa aplikasi ASP.NET MVC menyampaikan enums sebagai nombor bukan rentetan, dan bagaimana saya boleh memperbaikinya?. 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