请问下面代码输入 可以在Label中显示 但是如果输入<html>这样的字符串,就会报错?那么如何输入<html>这样的字符串也能在Label中显示而不是被解释成HTML标签?
[code]
<html>
<head>
<script language="C#" runat="server">
void Btn1_Click(Object Sender,EventArgs e)
{
Label1.Text = System.Web.HttpUtility.HtmlEncode(Text1.Text);
}
</script>
</head> <body>
<form runat="server">
<asp:Label id="Label1" Text="Label1默认的值" Font-Name="Verdana" Font-Size="10pt" Width="200px" BorderStyle="Solid" BorderColor="#0000ff" runat="server" />
<p>
<asp:TextBox id="Text1" Text="请输入您要测试的字符串!" Width="200px" runat="server" />
<asp:Button id="Btn1" Text="执行" OnClick="Btn1_Click" runat="server" />
</p>
</form>
</body>
</html>
[/code]
[code]
<html>
<head>
<script language="C#" runat="server">
void Btn1_Click(Object Sender,EventArgs e)
{
Label1.Text = System.Web.HttpUtility.HtmlEncode(Text1.Text);
}
</script>
</head> <body>
<form runat="server">
<asp:Label id="Label1" Text="Label1默认的值" Font-Name="Verdana" Font-Size="10pt" Width="200px" BorderStyle="Solid" BorderColor="#0000ff" runat="server" />
<p>
<asp:TextBox id="Text1" Text="请输入您要测试的字符串!" Width="200px" runat="server" />
<asp:Button id="Btn1" Text="执行" OnClick="Btn1_Click" runat="server" />
</p>
</form>
</body>
</html>
[/code]
————————————————————————————————————————————
A: 不是。尚且不能输入,就无所谓处理。ASP.NET在浏览器提交POST命令到服务器的时候就拦截了,你的程序根本去使用 HtmlEncode 处理输入的机会。所谓处理,应该是这样的:Label1.Text = System.Web.HttpUtility.HtmlEncode("<html>");这样没问题!