0

Ajax 工具包控件在动态添加到更新面板时出现问题。我有测试用户控件(UC_Test.ascx),里面有一个带有 HtmlEditorExtender 的文本框:

    <%@ 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>

在另一个控件上有更新面板,其中包含两个元素(按钮和 PlaceHolder)

<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 文件和图像)的资源没有加载。我从添加的控件制作快照:

AjaxToolKit HtmlEditorExtender 问题,当它动态添加到更新面板时

如您所见,htmlEditorExtender 的图标(例如复制,粘贴,...)没有被加载。!

4

2 回答 2

0

这个问题有一个解决方法。在您的脚本管理器和第一个更新面板之间的母版页上放置一个不可见的面板,并在其中放置一个虚拟文本字段和 HtmlEditorExtender。这将使动态加载的控件的 HtmlEditorExtenders 正确呈现。

显然扩展器需要在第一次加载时加载某些资源。母版页上的虚拟对象将使这些资源可用于之后创建的扩展程序。

t010tajaxcontroltoolkit.codeplex上发布的解决方案。

于 2013-05-12T17:44:41.647 回答
0

我知道这是一岁了,但是我遇到了同样的问题。就我而言,有一个 CSS 类全局应用于所有按钮。

如下。

background: #666666;

Firefox firebug 插件显示这具有将 css 呈现为的结果。

background: none repeat scroll 0 0 #e6e6e6;

当我禁用这行 css 时,按钮会出现。为了解决这个问题,我不得不改变。

background: #666666;

background-color: #666666;

在此之后,按钮正确呈现。这可能无法解决每个人的问题。但在某些情况下可能会。

于 2015-04-17T14:09:24.770 回答