HtmlString против MvcHtmlString

109

HtmlString vs. MvcHtmlString

В чем разница между этими двумя и когда предпочесть одно другому?

Редактировать:

Одна вещь , чтобы предпочесть MvcHtmlStringболее HtmlStringметод расширения IsNullOrEmptyв MvcHtmlString.

укладчик
источник
Да, хорошее место - я не знал, что в HtmlString этого нет.
Rup
1
Рядом с IsNullOrEmpty он также имеет некоторые другие статические методы (и одно свойство) (PS: IsNullOrEmpty не является методом расширения).
Matthijs Wessels

Ответы:

118

HtmlString существует только в ASP.NET 4.

MvcHtmlStringбыла прокладка совместимости, добавленная в MVC 2 для поддержки как .NET 3.5, так и .NET 4. Теперь, когда MVC 3 - это только .NET 4, это довольно тривиальный подкласс, HtmlStringпредположительно для MVC 2-> 3 для совместимости с исходным кодом.

Если вы когда-нибудь собираетесь вернуться к MVC 2, возможно, имеет смысл использовать IHtmlStringили varдля значений, возвращаемых функциями MVC. В качестве альтернативы, я думаю, теперь вы можете просто переключиться на HtmlStringвсе.

Руп
источник
20

HtmlString был представлен только в .Net 4.0.

В ASP.Net 3.5 MVC 2.0 вы должны использовать MvcHtmlString.
В .Net 4.0 вы должны использовать HtmlString. (что проще)

SLaks
источник
3
Речь идет об asp.net-4 и MVC-3.
stacker