Mengendalikan Tanda Tambah dalam Rentetan Pertanyaan ASP.NET
Apabila bekerja dengan C# dan ASP.NET, menghantar parameter melalui rentetan pertanyaan URL boleh memberikan cabaran, terutamanya apabila parameter menyertakan tanda tambah ( ). Tanda tambah ditafsirkan sebagai ruang, menyebabkan ia hilang atau disalah tafsir.
Ini berlaku kerana tanda tambah bertindak sebagai pembatas ruang putih dalam pengekodan URL standard. Untuk memastikan tanda tambah dihantar dan diterima dengan betul, ia perlu dikodkan URL. Setara tanda tambah yang dikodkan URL ialah +
.
Penyelesaian adalah untuk menggantikan semua kejadian
dengan +
sebelum menghantar rentetan pertanyaan. Dalam ASP.NET, kaedah Server.UrlEncode
menyediakan cara yang mudah untuk mencapai ini.
Begini cara anda boleh menggunakan Server.UrlEncode
untuk mengekod dengan betul parameter rentetan pertanyaan yang mengandungi tanda tambah:
<code class="language-csharp">string encodedValue = Server.UrlEncode(Request.QueryString["new"]); // Encodes '+' to '%2B'</code>
Coretan kod ini mengambil nilai parameter rentetan pertanyaan "baharu", mengekodnya menggunakan Server.UrlEncode
dan menyimpan hasil yang dikodkan dalam encodedValue
. Ini memastikan tanda tambah diwakili dengan betul dan mengelakkan kehilangan data. Ingat untuk melakukan pengekodan ini sebelum menghantar permintaan kepada pelayan. Ini akan menjamin pelayan mentafsirkan tanda tambah dengan betul sebagai aksara literal dalam nilai parameter.
Atas ialah kandungan terperinci Bagaimanakah Saya Mengekodkan Tanda Tambah ( ) dengan Betul dalam Rentetan Pertanyaan ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!