我在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中拉出来。
答案 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