在MVC4示例项目的剃须刀视图中有以下示例代码:
<p>@((@Model == null) ? "<unknow man>" : @Model.ClientName)</p>
<p>
@if (@Model == null)
{
@Html.Encode("<unknow man>")
}
else
{
@Model.ClientName;
}
</p>结果对我来说有点奇怪..。
在Internet 中我看到:
<p><unknow man></p>
<p>&lt;unknow man&gt;</p>在Chrome中
<p><unknow man></p>
<p><unknow man></p>最令人难以置信的(对我来说)是,我终于有了同样的视觉输出:
<unknow man>
<unknow man> 但是,我想在HTML中显示这个:
<p><unknow man></p>
<p><unknow man></p>这个给用户:
<unknow man>
<unknow man>PS
最后,我找到了一个正确显示字符串的解决方案,如下所示
@if (@Model == null)
{
@("<unknow man>")
}但是,谁能解释浏览器中HTML.Encode的不同之处,以及为什么不像第一个示例中那样编码呢?
发布于 2013-10-07 09:22:10
<p>@((@Model == null) ? @Html.Raw("<unknow man>") : @Model.ClientName)</p>
<p>
@if (@Model == null)
{
<text><unknow man></text>
}
else
{
@Model.ClientName;
}
</p>https://stackoverflow.com/questions/19221030
复制相似问题