Ajax ツールキット コントロールが更新パネルに動的に追加されると、問題が発生します。テスト ユーザー コントロール (UC_Test.ascx) があり、その中に HtmlEditorExtender を含む Textbox があります。
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UC_Test.ascx.cs" Inherits="UC_Test" %>
<asp:TextBox runat="server" ID="textbox1" CssClass="textbox" Height="40px"/>
<asp:HtmlEditorExtender runat="server" TargetControlID="textbox1"></asp:HtmlEditorExtender>
別のコントロールには、2 つの要素 (ボタンとプレースホルダー) を含む更新パネルがあります。
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button Text="Add" runat="server" OnClick="button_click" />
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
ボタンクリックイベントのコードビハインドは次のとおりです。
protected void button_click(object sender, EventArgs e)
{
PlaceHolder1.Controls.Clear();
PlaceHolder1.Controls.Add(LoadControl("~/UC_Test.ascx"));
}
これで、ボタンをクリックすると、コントロール (UC_Test) が ajax モードでプレースホルダーに追加されますが、HtmlEditorExtender のリソース (css ファイルと画像) は読み込まれませんでした。追加されたコントロールからスナップショットを作成します:
画像を見ての通り、htmlEditorExtender のアイコン (コピー、貼り付けなど) はロードされていません。