繁体   English   中英

如何保存<script> as text in c#

[英]How to save <script> as text in c#

如果我在aspx页面的注释字段中输入“ <script>”标记,则页面的设计和布局会变形。 我已经在代码行下面写了

在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 ,或者如果您将编码后的Server.HtmlDecode存储在数据库中(或知道谁在哪里),请不要再次对其进行编码。

改用Literal并设置Mode="Encode"

<asp:Literal ID="lblComment" Mode="Encode" runat="server"
     Text='<%# GetMethod(Eval("CommentBody").ToString())%>' />

如果您要对文本应用样式 ,那么唯一想要在Literal Label原因是。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM