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
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.
Akıllı bir işaretçi nedir ve ne zaman ...
Phtml nedir ve ne zaman kullanmalıyım ...
Özyineleme nedir ve ne zaman kullanmal...
Bir serialVersionUİD nedir ve neden ku...
(Ya da ihmal) kullanmak için zaman var...