ASP.NET
Network Akademi

Met Hostimg

“Bilgi paylaşıldıkça artar” sloganı ile .NET Platformuna ilişkin birikimlerin paylaşıldığı ASP.NET.TR Topluluğunda sizde “YAZAR” olmak için ; info@asp.net.tr e-mail adresine kendinizi anlatan bir e-mail göndererek başvuruda bulunabilirsiniz.

Asp.Net MVC HttpUtility Sınıfı

Veysel Uğur KIZMAZ
MVC
13.08.2011 16:35:41
Hit : 3242

Bu makalemizde Asp.NET’te HttpUtility sınıfının Encode ve Decode methodlarını inceleyeceğiz.

HttpUtility sınıfı, client tarafından yapılan isteğe karşı gönderilen verinin encode ve decode edilme işlemlerini gerçekleştirmektedir. Bazı durumlarda HTML karakter kodlamasında oluşan sıkıntıları gidermek için kullanılmaktadır.

Bu sınıfı incelemek için Asp.Net MVC 3 (Empty) Web Application oluşturalım ve bu uygulamamıza HomeController isminde bir Controller ekleyelim. HomeController’ın Index methodunu aşağıdaki gibi düzenleyelim.

HomeController.cs

        public ActionResult Index()

        {

            string baslik = "<p><b><i>Veysel Uğur KIZMAZ</i></b></p>";

            string htmlBaslik = HttpUtility.HtmlEncode(baslik);

 

            return View();

        }

 htmlBaslik değişkenimizde, baslik değişkenimizin encode edilmiş hali gelecektir. return View() satırına breakpoint koyup htmlBaslik değişkenimizin değerini inceleyelim.

Göründüğü gibi, <p>,<b>,<i> blokları HTML encode edilmiş şekilde görünmektedir.

Şimdi örneğimizi biraz geliştirelim. Önce string ifademizi encode işleminden geçirelim. Sonra encode edilmiş verimizi tekrar decode edelim ve View’a gönderelim.

HomeController.cs

        public ActionResult Index()

        {

            string baslik = "<p><b><i>Veysel Uğur KIZMAZ</i></b></p>";

            string htmlBaslik = HttpUtility.HtmlEncode(baslik);

            string htmlBaslik2 = HttpUtility.HtmlDecode(htmlBaslik);

            ViewBag.Baslik = baslik;

            ViewBag.HtmlBaslik = htmlBaslik;

            ViewBag.HtmlBaslik2 = htmlBaslik2;

            return View();

        }

 

Index.cshtml

@{

    Layout = null;

}

<html>

<head>

    <title>Index</title>

</head>

<body>

    <div>

       Baslik :  @ViewBag.Baslik

    </div>

    <div>

       Html Baslik : @ViewBag.HtmlBaslik

    </div>

    <div>

       Html Baslik2 : @ViewBag.HtmlBaslik2

    </div>

</body>

</html>

 

Projemizi çalıştıralım.

Göründüğü üzere ilk önce normal stringi ifademiz, ikinci satırda encode edilmiş ifademiz, son satırda ise tekrar decode edilmiş ifademiz yer almaktadır.

 

 

Veysel Uğur KIZMAZ

Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com

 

 

 

 




BU İÇERİĞE YORUMDA BULUNUN


Bu MAKALE'ye yorum yapabilmek için Üye olmalısınız ...!


BU İÇERİĞE YAPILAN YORUMLAR