【问题标题】:Custom server control disappears from page when UpdatePanel updatesUpdatePanel 更新时自定义服务器控件从页面中消失
【发布时间】:2011-02-22 23:40:45
【问题描述】:

我创建了一个自定义的 asp.net 服务器控件。它可以在常规的 asp.net 页面上正常工作,也可以作为浏览器内的 DOM 对象。但我以前从未使用过 UpdatePanel,现在我试图确保该控件也能在那里工作。它没有。如果我将控件添加到更新面板之外的页面并单击某个面板的内部按钮(触发器),则一切正常。但是,如果我将控件放在更新面板中并再次单击该按钮,则控件会完全从页面中“消失”。我仍然可以在 javascript 调试器和更新中看到我的控件,这意味着对象本身仍在 DOM 中。看起来面板出于某种原因只是“隐藏”了我的控件的外部 div 元素。我尝试在按钮单击处理程序上调用面板的 Update() 方法,将面板的 UpdateMode 设置为 Conditional 和 Always。所有的结果都是一样的。我该如何解决?谢谢!

【问题讨论】:

    标签: asp.net-ajax updatepanel


    【解决方案1】:

    从另一台计算机发布,以响应 TriLLi: 这是我的aspx代码。同样,UpdateMode 可以是 Conditional 或 Always - 结果是一样的,cc1:WebControl 消失但 lblInfo 标签在那里,在 btnTest 单击后完全起作用。

    <form id="form1" runat="server">
    <asp:scriptmanager ID="scrManager" runat="server"></asp:scriptmanager>
    <div>
        <asp:updatepanel ID="pnlTest" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                            <div class="designer">
                    <cc1:WebControl ID="ceFirst" runat="server" decisionxmlfilevirtualpath="/Person.config" autolist="User" help="Off"></cc1:WebControl>
                        </div>
                <div class="designer">
                    <asp:label ID="lblInfo" runat="server" forecolor="red"></asp:label>
                </div>
                <div class="designer">
                    <asp:button ID="btnTest" runat="server" width="100" text="Test" />
                </div>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="btnTest" EventName="Click" />
            </Triggers>
        </asp:updatepanel>
    </div>
    </form>
    

    【讨论】:

    • 我不太确定这一点,但是如果您的控件使用 javascript 显示您需要在更新面板结束回调时调用 javascript 代码,如果更新面板在回调 ScriptManager 中,请尝试在后面添加代码.RegisterStartupScript(....
    • 是的,我知道并会这样做。我确定我在这里遗漏了一些非常简单的东西。不过,谢谢。
    • 伙计们。请问还有人有什么建议吗? :)
    猜你喜欢
    • 2010-11-14
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多