Gib*_*boK 34 html asp.net-mvc razor c#-4.0 asp.net-mvc-3
我在MVC 3和Asp.net C#中使用Razor.
我有一个带有以下代码的视图.model.ContentBody有一些HTML标签.
我需要将此HTML内容显示为DECODED.
如何在视图中更改我的代码?
<div class="display-field">
@Html.DisplayFor(model => model.ContentBody)
</div>
Run Code Online (Sandbox Code Playgroud)
Gib*_*boK 77
<div class="display-field">
@Html.Raw(Model.ContentBody)
</div>
Run Code Online (Sandbox Code Playgroud)
这段代码解决了这个问题!
Moh*_*mar 43
@Html.Raw 这对我不起作用的例子如下: -
string name = "<p><span style="font-size: small; color: #ff0000;"><span style="font-size: small;">&nbsp;<span style="font-size: large; color: #000000;">Hi</span><br />&nbsp; <br />This is just a sample,<br />This will not work with @Html.Raw(),<br />";
<span>@Html.Raw(name);</span>
Run Code Online (Sandbox Code Playgroud)
但这有效: -
@MvcHtmlString.Create(HttpUtility.HtmlDecode(@model.ContentBody))
Run Code Online (Sandbox Code Playgroud)
或者您也可以使用: -
@Html.Raw(HttpUtility.HtmlDecode(@model.ContentBody));
Run Code Online (Sandbox Code Playgroud)
在将模型发送到视图之前,您还可以在控制器中解码html,
WebUtility.HtmlDecode()
public ActionResult Index(int id)
{
var content = _contentRepository.GetContent(id);
var classViewModel = new ClassViewModel
{
ContentBody = WebUtility.HtmlDecode(ClassViewModel.ContentBody)
};
return View(classViewModel);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60515 次 |
| 最近记录: |