AJAX HtmlEditorExtender并从文本框中获取文本?

时间:2012-09-23 18:22:45

标签: c# asp.net .net ajax htmleditorextender

我刚开始掌握网页开发并尝试建立一些经验。 我正在我的网站上实现HtmlEditorExtender。我添加了使用此控件所需的所有文件和引用,并且我已正确显示控件。我遇到的问题是我似乎无法在进行更改后获取文本框的内容。 我已将控件附加到文本框,然后使用我要编辑的内容填充文本框。一旦我做了更改,我就有了一个保存按钮,可以将当前内容保存在HTML编辑器中。我所看到的是Textbox的Text属性与我做出更改之前完全相同。有什么明显的东西让我失踪。

代码如下:

UserControl中的标记:

<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);
}

我将不胜感激。

1 个答案:

答案 0 :(得分:0)

if(!IsPostback)检查中的Page_Load方法中包装txtHTMLContent初始化代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string content = GetContent();
        txtHTMLContent.Text = content;
    }
}