HtmlString frente a MvcHtmlString

109

HtmlString vs. MvcHtmlString

¿Cuáles son las diferencias entre esos dos o cuándo preferir uno sobre el otro?

Editar:

Una cosa a preferir MvcHtmlStringmás HtmlStringes el método de extensión IsNullOrEmptyde MvcHtmlString.

apilador
fuente
Sí, buen lugar, no me di cuenta de que HtmlString no tenía eso.
Rup
1
Junto a IsNullOrEmpty, también tiene algunos otros métodos estáticos (y una propiedad) (PS: IsNullOrEmpty no es un método de extensión).
Matthijs Wessels

Respuestas:

118

HtmlString solo existe en ASP.NET 4.

MvcHtmlStringse agregó una corrección de compatibilidad a MVC 2 para admitir tanto .NET 3.5 como .NET 4. Ahora que MVC 3 es solo .NET 4, es una subclase bastante trivial de HtmlStringpresumiblemente para MVC 2-> 3 para compatibilidad de fuentes.

Si alguna vez va a volver a MVC 2, podría tener sentido usar IHtmlStringovar para los valores devueltos por las funciones de MVC. Alternativamente, creo que ahora puede simplemente cambiar a HtmlStringtodo.

Rup
fuente
20

HtmlString solo se introdujo en .Net 4.0.

En ASP.Net 3.5 MVC 2.0, debe usar MvcHtmlString.
En .Net 4.0, debe usar HtmlString. (que es más simple)

SLaks
fuente
3
La pregunta es sobre asp.net-4 y MVC-3.
apilador