Il documentation per MvcHtmlString
non è molto illuminante:Che cos'è un MvcHtmlString e quando dovrei usarlo?
Rappresenta una stringa HTML con codifica che non dovrebbe essere codificato di nuovo.
Non mi è chiaro quali siano esattamente le implicazioni di ciò. Sembra che alcuni metodi helper HTML restituiscano uno MvcHtmlString
, ma diversi esempi che ho visto online di helper personalizzati restituiscono semplicemente una stringa regolare.
Domande:
Cos'è un MvcHtmlString
?
Quando è necessario scegliere MvcHtmlString
su string
e viceversa? Perché?
Aggiungo che MVC 2 è compilato su .Net 3.5, non su 4. Ciò significa che 'MvcHtmlString' non implementa' IHtmlString' perché esiste solo in 4. La sintassi '<%:' deve _duck-type_ - chiamerà sempre '.ToHtmlString()' prima di '.ToString()' indipendentemente dall'interfaccia. – Keith
Sono corretto - in realtà il metodo 'MvcHtmlString.Create' rileva se' IHtmlString' è disponibile e crea dinamicamente la classe restituita per supportarlo se lo è: http://www.windowsitpro.com/article/net-framework/Encoding -and-Strings/3.aspx – Keith
ancora un'ottima risposta alla seconda lettura :) – melaos