3

我在我的 ASP.NET 4.0 Web 应用程序中使用 AjaxControlToolkit 的 HtmlEditorExtender:

<asp:TextBox ID="myTxt" runat="server" TextMode="MultiLine" Height="80px" Width="100%" />
<act:HtmlEditorExtender ID="heMyTxt" runat="server" TargetControlID="myTxt">
  <Toolbar>
    etc...
  </Toolbar>
</act:HtmlEditorExtender>

当我像这样设置文本框服务器端的内容时:

myTxt.Text = htmlStringFromDatabase;

...文本框中的内容是文字的 HTML 标记(即<b>Bold</b>像那样显示,而不是像Bold那样显示)。格式不会转移,但扩展器确实在文本框上工作并设置其工具栏和按钮等。是否有不同的方式来设置内容?

编辑:原来我得到的HTML myTxt(扩展器附加到的控件)是编码的HTML。所以现在的问题是如何阻止控件对其内容进行编码。这个问题也出现在这个问题中,但我没有使用LoadControl()或设计器到我的页面;我已经手动编写了我的标记。

另外,我不知道这是否会有所不同,但我正在将文本从页面Page_Load处理程序的 TextBox 中提取出来。

4

2 回答 2

2

尝试这样做,

myTxt.Text = HttpUtility.HtmlDecode(htmlStringFromDatabase);
于 2012-07-14T06:05:36.240 回答
0

我能够像这样解决这个问题:

        Literal lit = new Literal();
        lit.Mode = LiteralMode.PassThrough;
        lit.Text = HttpUtility.HtmlDecode(HTMLTExt);
        TextBox1.Text = lit.Text; // The text box which HTMLEditorExtender is attached to
于 2014-06-17T20:52:59.097 回答