asp.net标签不会写2

时间:2012-01-30 14:35:44

标签: asp.net label

简单的aspx页面

(ValidateRequest = “假”)

我想要标签写:

2<B             //no spaces

我试过了:

<asp:Label ID="Label1"  Text="2<B" runat="server" />
<asp:Label ID="Label2"  Text="2&lt;B" runat="server" />

输出2

enter image description here

我也试过了:

<span ID="Label3"   >2&lt;B</span>

哪个有用!

但是如何告诉runat服务器标签只写2<B

为什么他不理解&gt;

编辑:

Viewsource:

enter image description here

6 个答案:

答案 0 :(得分:1)

尝试在服务器端设置

Label1.Text = "2&lt;B"

答案 1 :(得分:1)

再次html对&lt;再次进行编码(&amp;lt;

<asp:Label ID="Label2" Text='2&amp;lt;B' runat="server" />

答案 2 :(得分:0)

Label 对输出进行编码。如果您希望对输出进行编码,则应使用设置为Literal的{​​{1}} Mode或使用Encode自行编码:

HttpUtility.HtmlEncode

答案 3 :(得分:0)

如果你不喜欢打字2&amp; l t; B,那么你可以使用Literal with Mode = Encode:

<asp:Literal ID="Literal1" runat="server" Text="2<B" Mode="Encode"/>

答案 4 :(得分:0)

在&lt;之间放置空格和B都有效  像

 <asp:Label ID="Label1"  Text="2 < B" runat="server" />
<asp:Label ID="Label2"  Text="2 &lt; B" runat="server" />

更新:当您以这种方式放置<B时,它会假定不完整的html标记。因此它不会呈现它。要渲染它,你应该在它们之间使用空格,或者建议使用文字控制或使用

     HttpUtility.HtmlEncode()

答案 5 :(得分:-1)

试试这个:

<asp:Label ID="Label1" runat="server">2&lt;B</asp:Label>