如何在 C# 中将 <script> 保存为文本
How to save <script> as text in c#
如果我在我的 aspx 页面的评论字段中输入“<脚本>”标签,页面的设计和布局就会失真。我在下面写了一行代码
在cs文件中
Result.CommentBody = Server.HtmlEncode(txtCommentBody.Text);
是aspx文件
<asp:Label ID="lblComment" runat="server"
Text='<%# Server.HtmlDecode(Eval("CommentBody").ToString()) %>' />
它不起作用...是否有其他方法可以将文本保存和检索...请帮助我!!!
这应该有效
在您的 aspx 页面中
<asp:Label ID="lblComment" runat="server"
Text='<%# GetMethod(Eval("CommentBody").ToString())%>' />
在您的代码隐藏中
public string GetMethod(string CommentBody)
{
return Server.HtmlEncode(CommentBody);
}
您正在解码而不是编码。为了显示脚本标签(实际上是任何标签),您需要 html 编码特殊字符。
调用 Server.HtmlEncode
而不是 Server.HtmlDecode
,或者如果您将其编码存储在数据库中(或者谁知道在哪里),请不要再次编码。
改用 Literal
并设置 Mode="Encode"
:
<asp:Literal ID="lblComment" Mode="Encode" runat="server"
Text='<%# GetMethod(Eval("CommentBody").ToString())%>' />
您想要 Label
而不是 Literal
的唯一原因是您要 将样式 应用到您的文本。
如果我在我的 aspx 页面的评论字段中输入“<脚本>”标签,页面的设计和布局就会失真。我在下面写了一行代码
在cs文件中
Result.CommentBody = Server.HtmlEncode(txtCommentBody.Text);
是aspx文件
<asp:Label ID="lblComment" runat="server"
Text='<%# Server.HtmlDecode(Eval("CommentBody").ToString()) %>' />
它不起作用...是否有其他方法可以将文本保存和检索...请帮助我!!!
这应该有效
在您的 aspx 页面中
<asp:Label ID="lblComment" runat="server"
Text='<%# GetMethod(Eval("CommentBody").ToString())%>' />
在您的代码隐藏中
public string GetMethod(string CommentBody)
{
return Server.HtmlEncode(CommentBody);
}
您正在解码而不是编码。为了显示脚本标签(实际上是任何标签),您需要 html 编码特殊字符。
调用 Server.HtmlEncode
而不是 Server.HtmlDecode
,或者如果您将其编码存储在数据库中(或者谁知道在哪里),请不要再次编码。
改用 Literal
并设置 Mode="Encode"
:
<asp:Literal ID="lblComment" Mode="Encode" runat="server"
Text='<%# GetMethod(Eval("CommentBody").ToString())%>' />
您想要 Label
而不是 Literal
的唯一原因是您要 将样式 应用到您的文本。