2

私はWeb開発に取り組み始めたばかりで、いくつかの経験を積み上げようとしています。私は自分のウェブサイトに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);
}

助けていただければ幸いです。

4

1 に答える 1

0

txtHTMLContent初期化コードをPage_Loadメソッドでラップしてif(!IsPostback)チェックします。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string content = GetContent();
        txtHTMLContent.Text = content;
    }
}
于 2012-09-23T18:50:34.807 に答える