HtmlEncode dari Perpustakaan Kelas


166

Saya memiliki perpustakaan kelas (dalam C #). Saya perlu menyandikan data saya menggunakan metode HtmlEncode. Ini mudah dilakukan dari aplikasi web. Pertanyaan saya adalah, bagaimana cara menggunakan metode ini dari pustaka kelas yang dipanggil dari aplikasi konsol?

Jawaban:


208

Impor System.Web Atau panggil System.Web.HttpUtility yang berisi itu

Anda perlu menambahkan referensi ke DLL jika belum ada di sana

string TestString = "This is a <Test String>.";
string EncodedString = System.Web.HttpUtility.HtmlEncode(TestString);

7
Anda perlu membuat turunan dari kelas Server Utility yang dirancang untuk mendukung Permintaan saat ini dalam proses dan meniru fitur objek ASP Server lama. HttpUtility adalah seperangkat metode Statis yang lebih ringan.
AnthonyWJones

3
Pastikan bahwa jenis kerangka kerja Anda tidak menentukan "Profil Klien". Mengubah ini ke kerangka penuh dan Anda akan memiliki perakitan system.web tersedia
Martin Murphy

System.Web.HttpUtility tidak tersedia di proyek saya (.NET Framework 4.7.1). System.Net.WebUtility.HtmlEncode (string) tersedia dan berfungsi dengan baik.
demonicdaron


39

Jika Anda menggunakan C # 3 tip yang baik adalah membuat metode ekstensi untuk membuatnya lebih sederhana. Cukup buat metode statis (lebih disukai di kelas statis) seperti:

public static class Extensions
{
    public static string HtmlEncode(this string s)
    {
        return HttpUtility.HtmlEncode(s);
    }
}

Anda kemudian dapat melakukan hal-hal yang rapi seperti ini:

string encoded = "<div>I need encoding</div>".HtmlEncode();

25

Coba ini

System.Net.WebUtility.HtmlDecode(string);
System.Net.WebUtility.HtmlEncode(string);

4
Ini jauh lebih baik karena saya tidak perlu menambahkan referensi ke System.Web dalam proyek WPF saya.
pendatang baru

7

Tambahkan referensi ke System.Web.dll dan kemudian Anda bisa menggunakan kelas System.Web.HtmlUtility



3

Jika Anda menggunakan SharePoint 2010, menggunakan baris kode berikut akan menghindari referensi seluruh perpustakaan System.Web:

Microsoft.SharePoint.Utilities.SPHttpUtility.HtmlEncode(stringToEncode);

2

Jika Anda bekerja dengan silverlight, gunakan ini:

System.Windows.Browser.HttpUtility.HtmlEncode(...);
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.