我刚刚开始掌握 Web 开发并尝试积累一些经验。 我正在我的网站中实现 HtmlEditorExtender。我已经添加了使用此控件所需的所有文件和引用,并且我已正确显示该控件。我遇到的问题是我似乎无法在进行更改后获取文本框的内容。 我已将控件附加到文本框,然后用我希望编辑的内容填充文本框。进行更改后,我有一个保存按钮,可以将当前内容保存在 HTML 编辑器中。我看到的是文本框的文本属性与我进行更改之前完全相同。有什么明显的我想念的东西吗。
代码如下:
用户控件中的标记:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Panel ID="pnlPopup" runat="server" Style="display: none" CssClass="modalPopup">
<asp:Panel ID="Panel3" runat="server" Style="background-color: #DDDDDD; border: solid 1px Gray;
color: Black;">
<p>
Edit:
</p>
</asp:Panel>
<asp:TextBox runat="server" ID="txtHTMLContent" CssClass="WhiteTextBox" TextMode="MultiLine"
Columns="50" Rows="10" />
<br />
<ajaxToolkit:HtmlEditorExtender ID="htmlEditor" TargetControlID="txtHTMLContent" Runat="server" EnableSanitization="false" />
<center>
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" />
</center>
</asp:Panel>
代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
string content = GetContent();
txtHTMLContent.Text = content;
}
protected void btnSave_Click(object sender, EventArgs e)
{
DatabaseManager dm = new DatabaseManager();
dm.UpdateContent(txtHTMLContent.Text);
}
如有任何帮助,我将不胜感激。
请您参考如下方法:
在 if(!IsPostback) 中的 Page_Load 方法中包装 txtHTMLContent 初始化代码检查:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string content = GetContent();
txtHTMLContent.Text = content;
}
}
