首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态添加HtmlEditorExtender到更新面板

动态添加HtmlEditorExtender到更新面板
EN

Stack Overflow用户
提问于 2012-07-03 02:23:06
回答 2查看 1.4K关注 0票数 0

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

代码语言:javascript
复制
    <%@ 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)

代码语言:javascript
复制
<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>

按钮点击事件的代码是:

代码语言:javascript
复制
protected void button_click(object sender, EventArgs e)
    {

            PlaceHolder1.Controls.Clear();
            PlaceHolder1.Controls.Add(LoadControl("~/UC_Test.ascx"));

    }

现在,当点击按钮时,控件(UC_Test)将被成功添加到ajax模式下的占位符,但HtmlEditorExtender的资源(css文件和图像)并未加载。我从添加的控件中创建一个快照:

正如您所看到的图像,htmlEditorExtender的图标(如复制、粘贴等)没有装弹。!

EN

回答 2

Stack Overflow用户

发布于 2013-05-13 01:44:42

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

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

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

票数 0
EN

Stack Overflow用户

发布于 2015-04-17 22:09:25

我知道这是一年前的事了,但我也有同样的问题。在我的例子中,有一个CSS类被全局应用于所有按钮。

如下所示。

代码语言:javascript
复制
background: #666666;

Firefox firebug插件显示了将css呈现为的结果。

代码语言:javascript
复制
background: none repeat scroll 0 0 #e6e6e6;

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

代码语言:javascript
复制
background: #666666;

代码语言:javascript
复制
background-color: #666666;

在此之后,按钮正确呈现。这可能不会解决所有人的问题。但在某些情况下,它可能会。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11299099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档