用html填充textarea并显示<而不是<

时间:2011-01-12 08:02:31

标签: asp.net html

我为资源文件构建了一个小编辑器。

所以我在textarea中显示资源项的内容。

<textarea cols="85" rows="12" id='EditItemTextArea'><%# Eval("Translation")%></textarea>

但是,该内容显示为html符号,因此当我在textarea中加载&lt;并查看源代码时,我会看到&lt; 像这样:

<textarea cols="85" rows="12" id='EditItemTextArea'>consumption.&lt;br&gt;&lt;br&gt;</textarea>

但是在textarea(在浏览器中)会显示<,当我保存textarea的内容时,我会看到<而不是&lt;

有没有办法解决这个问题?

4 个答案:

答案 0 :(得分:1)

您是否尝试过HttpUtility.HtmlEncode(和HttpUtility.HtmlDecode来获取已解码的HTML)?您的代码可能如下所示:

<textarea cols="85" rows="12" id='EditItemTextArea' name='EditItemTextArea'><%# System.Web.HttpUtility.HtmlEncode(Eval("Translation").ToString())%></textarea>

代码隐藏:

string html = System.Web.HttpUtility.HtmlDecode(base.Request["EditItemTextArea"]);

答案 1 :(得分:1)

这里应该使用HttpUtility.HtmlEncode和HttpUtility.HtmlDecode方法。

我不确定我是否理解正确,你也可以试试这个:

<textarea cols="85" rows="12" id='EditItemTextArea'><%# HttpUtility.Decode(Eval("Translation").ToString())%></textarea>

答案 2 :(得分:1)

答案 3 :(得分:1)

看一下System.Web.HttpUtility类。猜猜HtmlEncode和HtmlDecode方法可以帮助你。