从输出HTML中禁止asp:Literal

时间:2010-08-10 15:00:05

标签: c# asp.net

有没有办法禁止asp:Literal输出HTML?

如果我输入文字<b>Hello world</b>,我想要像那样显示,而不是粗体。

如果可能的话我不想扩展它,因为我必须改变整个项目。

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

我认为你需要这个:HttpUtility.HtmlEncode

它会将<替换为可以安全发送给客户的&lt;等。

答案 2 :(得分:1)

一种方法是.... 创建从ASP.net文字控件派生的自定义LiteralControl 并覆盖Render(HtmlTextWriter writer)方法以删除任何标记。

答案 3 :(得分:1)

我迟到了,但答案是将Literal.Mode设为Encode

像这样:

<asp:Literal runat="server" ID="myLiteralControl" Mode="Encode" />

不幸的是,无论是否扩展Literal控件,都必须更改整个项目。

这是Literal.Mode documentation