Veysel Uğur KIZMAZ

Asp.Net MVC HttpUtility Sınıfı

16.06.2012Okunma Sayısı: 5546Kategori: ASP.NET MVC
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
 
  1. public ActionResult Index()
  2. {
  3.     string baslik = "<p><b><i>Veysel Uğur KIZMAZ</i></b></p>";
  4.     string htmlBaslik = HttpUtility.HtmlEncode(baslik);
  5.  
  6.     return View();
  7. }

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
 
  1. public ActionResult Index()
  2. {
  3.     string baslik = "<p><b><i>Veysel Uğur KIZMAZ</i></b></p>";
  4.     string htmlBaslik = HttpUtility.HtmlEncode(baslik);
  5.     string htmlBaslik2 = HttpUtility.HtmlDecode(htmlBaslik);
  6.     ViewBag.Baslik = baslik;
  7.     ViewBag.HtmlBaslik = htmlBaslik;
  8.     ViewBag.HtmlBaslik2 = htmlBaslik2;
  9.     return View();
  10. }
Index.cshtml
 
  1. @{
  2.     Layout = null;
  3. }
  4. <html>
  5. <head>
  6.     <title>Index</title>
  7. </head>
  8. <body>
  9.     <div>
  10.        Baslik : @ViewBag.Baslik
  11.     </div>
  12.     <div>
  13.        Html Baslik : @ViewBag.HtmlBaslik
  14.     </div>
  15.     <div>
  16.        Html Baslik2 : @ViewBag.HtmlBaslik2
  17.     </div>
  18. </body>
  19. </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