如果我在aspx页面的comment feild中输入“< script>”标签,页面的设计和布局就会失真。我在下面写了代码行


在cs文件中


 Result.CommentBody = Server.HtmlEncode (txtCommentBody.Text);



 是aspx文件


 < asp:Label ID =“lblComment”runat =“server”
 Text ='<%#Server.HtmlDecode(Eval(“CommentBody”)。ToString())%>' />



 它不起作用...是否有任何替代方法可以保存和检索为文本...请帮助我!!!

答案 0 :(得分:1)
这应该有效
在您的aspx页面中
<asp:Label ID="lblComment" runat="server"
Text='<%# GetMethod(Eval("CommentBody").ToString())%>' />
在你的代码隐藏中
public string GetMethod(string CommentBody)
{
return Server.HtmlEncode(CommentBody);
}
答案 1 :(得分:1)
您正在解码而不是编码。为了显示脚本标记(实际上是任何标记),您需要对html编码特殊字符。
调用Server.HtmlEncode
而不是Server.HtmlDecode
,或者如果您将其编码存储在数据库中(或谁知道在哪里),请不要再次对其进行编码。
答案 2 :(得分:0)
改为使用Literal
并设置Mode="Encode"
:
<asp:Literal ID="lblComment" Mode="Encode" runat="server"
Text='<%# GetMethod(Eval("CommentBody").ToString())%>' />
如果您在文字中应用 ,那么只有Label
超过Literal
的原因才会出现。