SORU
19 ŞUBAT 2010, Cuma


Bir MvcHtmlString nedir ve ne zaman kullanmalıyım?

MvcHtmlString documentation pek aydınlatıcı

Tekrar kodlanmış temsil edilmemesi gereken HTML olarak kodlanmış bir dize.

Bu ne anlama geldiklerini bana net değil. Bazı HTML yardımcı yöntemler özel yardımcıların online sıradan bir dize döndürür gördüm MvcHtmlString, ama bazı örnekler dönüş gibi görünüyor.

Soru:

MvcHtmlString bir nedir?

string ve yardımcısı üzerinde MvcHtmlString versa seçmeliyim? Neden?

CEVAP
19 ŞUBAT 2010, Cuma


ASP.NET 4 yeni kodu nugget bir sözdizimi <%: %> tanıttı. Esasen, <%: foo %> <%= HttpUtility.HtmlEncode(foo) %> çevirir. Takım geliştiriciler mümkün olan her yerde XSS önlemek için <%= %> yerine <%: %> kullanmak için almak için çalışıyor.

Ancak, bu kod bir nugget zaten onun sonucu, kodlar, <%: %> sözdizimi olacaktır sorun da tanıttıyeniden kodlamak. Bu İHtmlString arayüz tanıtımı (yeni .tarafından çözüldü NET 4). Eğer() foo<%: foo() %> döner bir İHtmlString, <%: %> sözdizimi olmaz yeniden kodlamak.

ASP.NET 4 arabirim İHtmlString uygulayan 2 yardımcılarının dönüş MvcHtmlString, MVC. Bu nedenle ASP.NET 4, sonuç <%: Html.*() %> çift kodlanmaz.

Düzenleme:

Bu yeni sözdizimi hemen yarar görüşlerinizi biraz daha temiz olmasıdır. Örneğin, <%: ViewData["anything"] %> yerine <%= Html.Encode(ViewData["anything"]) %> yazabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Eric Magidson

    Eric Magidso

    4 Ocak 2009
  • Nickcidious

    Nickcidious

    6 HAZİRAN 2011
  • xSammyJoe1

    xSammyJoe1

    19 Temmuz 2011