【问题标题】:filling a textarea with html and show &lt; and not <用 html 填充文本区域并显示 < 而不是 <
【发布时间】:2011-01-12 08:02:31
【问题描述】:

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

所以我在文本区域中显示资源项的内容。

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

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

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

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

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

【问题讨论】:

  • 不确定你的意思...... SO 编辑器并没有给你太多的正义......你可能想使用代码模式,所以它清楚你想告诉我们什么......
  • 抱歉

标签: asp.net html


【解决方案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"]);

【讨论】:

  • 我想,当我读到你的答案时:不,没有 HtmlEncode,我的 html 已经是正确的格式,它只是显示错误。无论如何都尝试过,它做到了:它将&amp;amp;gt; 替换为&amp;amp;gt;,并且有效!很高兴我试过了,谢谢你的回答。
  • 并且因为&amp;amp;gt; 在文本区域中显示为&amp;amp;gt;(这是我要存储在数据库中的内容),我不必在服务器上对其进行解码,因为&amp;;gt;在表单中,这就是我需要的。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-31
      • 1970-01-01
      相关资源
      最近更新 更多