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.