如何设置HtmlEditorExtender的内容服务器端

时间:2012-06-08 23:12:47

标签: asp.net ajaxcontroltoolkit asp.net-4.0

我在ASP.NET 4.0网络应用程序中使用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 )。格式化不会传输,但Extender确实在文本框上工作并设置其工具栏和按钮等。是否有不同的方式来设置内容?

编辑:结果显示我从myTxt(扩展程序附加到的控件)中获取的HTML是编码HTML。所以现在问题是如何阻止控件编码其内容。这个问题也出现在this question中,但我没有使用LoadControl()或设计师到我的页面;我手动编写了我的标记。

此外,我不知道这是否有所作为,但我将文本从页面的Page_Load处理程序中的TextBox中拉出来。

2 个答案:

答案 0 :(得分:2)

尝试这样做,

myTxt.Text = HttpUtility.HtmlDecode(htmlStringFromDatabase);

答案 1 :(得分: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