HtmlString
vs. MvcHtmlString
What are the differences bettween those two, or when to prefer one over the other?
Edit:
One thing to prefer MvcHtmlString over HtmlString is the extension method IsNullOrEmpty of MvcHtmlString.
HtmlString
vs. MvcHtmlString
What are the differences bettween those two, or when to prefer one over the other?
Edit:
One thing to prefer MvcHtmlString over HtmlString is the extension method IsNullOrEmpty of MvcHtmlString.
HtmlString
was only introduced in .Net 4.0.
In ASP.Net 3.5 MVC 2.0, you should use MvcHtmlString
.
In .Net 4.0, you should use HtmlString
. (which is simpler)
HtmlString
only exists in ASP.NET 4.
MvcHtmlString
was a compatibility shim added to MVC 2 to support both .NET 3.5 and .NET 4. Now that MVC 3 is .NET 4 only, it's a fairly trivial subclass of HtmlString
presumably for MVC 2->3 for source compatibility.
If you're ever going to drop back to MVC 2 it might make sense to use IHtmlString
or var
for values returned from MVC functions. Alternatively I think you can now just switch to HtmlString
throughout.
MvcHtmlString is used to indicate when a string should not be re-encoded.
See http://stackoverflow.com/questions/2293357/what-is-an-mvchtmlstring-and-when-should-i-use-it
and
http://stackoverflow.com/questions/3331393/what-does-do-in-asp-net-mvc2/3331408#3331408