Вы не должны звонить .ToString()
.
Как четко указывается в сообщении об ошибке, вы пишете условие, в котором одна половина - это IHtmlString
, а другая половина - строка.
Это не имеет смысла, так как компилятор не знает, какого типа должно быть все выражение.
Существует никогда причина звонить Html.Raw(...).ToString()
.
Html.Raw
возвращает экземпляр HtmlString
, который оборачивает исходную строку.
Вывод страницы Razor знает, что нельзя экранировать HtmlString
экземпляров.
Однако, вызов HtmlString.ToString()
просто возвращает исходное значение string
снова; это ничего не дает.