Sré*_*áîr 8 asp.net-mvc html-helper razor asp.net-mvc-5
我有一个模型字段,返回带有换行符BR标记的HTML字符串,但如何在浏览器上显示该HTML?问题在于改为换行,标签本身显示在UI上
我试图将模型放在Html.Raw(modelItem => item.Speaking)中,但它从不工作,因为它期望内部的字符串,并且不能将lambda表达式转换为类型'string',因为它不是委托类型
以下是我尝试过的代码和评论.
<div>
@{
string strTest = "<br/>Line 1 <br/> Line 2<br>";
@Html.Raw(strTest); //This works and display as expected
@MvcHtmlString.Create(strTest); //This works and display as expected
@Html.Raw(Html.DisplayFor(modelItem => item.Speaking)); //This doesn't work, its show the <br /> on the screen
@MvcHtmlString.Create(Html.DisplayFor(modelItem => item.Speaking).ToString()); //This doent work, its show the <br /> on the screen
@Html.Raw(modelItem => item.Speaking) //This throw error Cannot convert lambda expression to type string
}
</div>
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助或建议.提前致谢!
Oua*_*ATA 13
试试这个 :
@(new HtmlString(stringWithMarkup))
Run Code Online (Sandbox Code Playgroud)
你也可以创建一个HTML帮助器!:
@helper RawText(string s) {
@(new HtmlString(s))
}
Run Code Online (Sandbox Code Playgroud)
在MVC4中
而不是使用 @Html.Raw(modelItem => item.Speaking)
您可以使用
@Html.Raw(@Model.Speaking.ToString())
它适用于我,我希望这也可以帮助别人