Sınıf Kitaplığından HtmlEncode


166

(C #) bir sınıf kitaplığı var. HtmlEncode yöntemini kullanarak verilerimi kodlamak gerekiyor. Bir web uygulamasından bunu yapmak kolaydır. Benim sorum, bu yöntemi bir konsol uygulamasından çağrılan bir sınıf kitaplığından nasıl kullanırım?

Yanıtlar:


208

System.Web'i İçe Aktarın veya içeren System.Web.HttpUtility'yi arayın

Zaten yoksa DLL başvurusunu eklemeniz gerekir

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

7
Devam eden bir akımı desteklemek üzere tasarlanmış bir Server Utility sınıfı örneği oluşturmanız gerekir. Eski ASP Server nesnesinin özelliklerini isteyin ve taklit edin. HttpUtility, Statik yöntemlerin daha hafif bir setidir.
— AnthonyWJones

3
Çerçeve türünüzün "Müşteri Profili" belirtmediğinden emin olun. Bunu tam çerçeveye değiştirir ve system.web derlemesini hazırlarsınız
— Martin Murphy

System.Web.HttpUtility projemde mevcut değildi (.NET Framework 4.7.1). System.Net.WebUtility.HtmlEncode (string) kullanılabilir ve iyi çalıştı.
— demonicdaron


39

C # 3 kullanıyorsanız, bunu daha da basitleştirmek için bir uzantı yöntemi oluşturmak iyi bir ipucu. Bunun gibi bir statik yöntem (tercihen statik bir sınıfta) oluşturun:

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

Daha sonra böyle düzgün şeyler yapabilirsiniz:

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

25

Bunu dene

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

4
Bu çok daha iyi çünkü WPF projemde System.Web'e referans eklemek zorunda değilim.
— newman

7

System.Web.dll dosyasına bir başvuru ekleyin ve System.Web.HtmlUtility sınıfını kullanabilirsiniz



3

SharePoint 2010 kullanıyorsanız, aşağıdaki kod satırını kullanmak tüm System.Web kitaplığına başvurmaktan kaçınır:

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

2

Silverlight ile çalışıyorsanız, bunu kullanın:

System.Windows.Browser.HttpUtility.HtmlEncode(...);
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.