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

  • Kenneth Håkonsen

    Kenneth Håk

    13 Mart 2011
  • ShotgunSandwichENT

    ShotgunSandw

    3 EKİM 2012
  • SRI International

    SRI Internat

    30 NİSAN 2008