"/>"/>
Yazılım Dilleri
Asp.Net 4.5 Kitabı
Skip Navigation Links

Asp.Net MVC 3 Html.Raw Methodu

Controller'dan html taglarıyla gönderilmiş verilerimizi HTML kodlarını çalıştıracak şekilde nasıl göstereceğimizi inceleyelim.

 Bir önceki makalemizde HTML encode ve decode işlemlerini incelemiştik. Örneğimizde HTML tagları kullanılmış string ifade olduğu gibi görünmekteydi. Şimdi Controller’dan html taglarıyla gönderilmiş verilerimizi HTML kodlarını çalıştıracak şekilde nasıl göstereceğimizi inceleyelim.

Yeni bir Asp.Net MVC 3 (Empty) Web Applicatoin oluşturalım ve HomeController isminde Controller’ımızı ekleyelim. HomeController’ın Index() view’ını oluşturalım ve kodunu şu şekilde düzenleyelim.
 
Index.cshtml
 
  1. @{
  2.     Layout = null;
  3. }
  4. <html>
  5. <head>
  6.     <title>Index</title>
  7. </head>
  8. <body>
  9.     <div>
  10.         @{ string isim = "<b><i>Veysel Uğur KIZMAZ</i></b>";}
  11.         @isim
  12.     </div>
  13. </body>
  14. </html>
 
Projemizi çalıştıralm.
 
 
Göründüğü üzere yazdığımız metin olduğu gibi ekranda göründü. Şimdi HTML kodlarının çalışmasını sağlayalım.
 
Index.cshtml
 
  1. @{
  2.     Layout = null;
  3. }
  4. <html>
  5. <head>
  6.     <title>Index</title>
  7. </head>
  8. <body>
  9.     <div>
  10.         @{ string isim = "<b><i>Veysel Uğur KIZMAZ</i></b>";}
  11.         @isim
  12.         <br />
  13.         @Html.Raw(isim)
  14.     </div>
  15. </body>
  16. </html>
Html.Raw methodu ile parametrede verdiğimiz HTML ifadesini render edip ekranda HTML ifadesinin sonucunu göstermektedir.
 
 
Şimdi, bir önceki makalemizdeki örneğimize geri dönelim ve HTML olarak gönderdiğimiz değerleri ekranda render edilmiş şekilde çalıştıralım. Öncelikle örneğimizi yeniden hatırlayalım.
 
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.xshtml
 
  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.
 
 
Şimdi kodumuza Html.Raw methodlarını ekleyelim.
 
Index.cshtml
 
  1. @{
  2.     Layout = null;
  3. }
  4. <html>
  5. <head>
  6.     <title>Index</title>
  7. </head>
  8. <body>
  9.     <div>
  10.        Baslik : @Html.Raw(ViewBag.Baslik)
  11.     </div>
  12.     <div>
  13.        Html Baslik : @Html.Raw(ViewBag.HtmlBaslik)
  14.     </div>
  15.     <div>
  16.        Html Baslik2 : @Html.Raw(ViewBag.HtmlBaslik2)
  17.     </div>
  18. </body>
  19. </html>
 
Projemizi çalıştıralım.
 
 
Dikkat edin, HTML taglarıyla yazılmış veriler render edildi, fakat HTML taglarının encode edilmiş hali, HTML taglarına sahip olmadığı için render edilmedi ve olduğu gibi ekranda gösterildi.
 
 
 
Veysel Uğur KIZMAZ

Yorumlar (0)

Yorum Yap

Mail listesine katılmak için tıklayınız

Hakkımdaki son bilgilere anlık erişmek için mail listesine katılabilirsiniz.