C# 使用“更新”面板时,usercontrol将消失

C# 使用“更新”面板时,usercontrol将消失,c#,javascript,asp.net,user-controls,updatepanel,C#,Javascript,Asp.net,User Controls,Updatepanel,我有一个用户控件,它充当我网站的页脚,并使用java脚本jqdock.js显示apple类型的底部菜单。我向usercontrol添加了一个更新面板。我现在遇到的问题是,它最初工作得很好,但一旦我单击usercontrol中的mail按钮,整个用户控件就会消失,我猜在回发之后。下面是usercontrol和代码视图: enter code here 公共无效页面加载(对象发送方,事件参数e) { //设计视图 <%@ Control Language="C#" AutoEventWire

我有一个用户控件,它充当我网站的页脚,并使用java脚本jqdock.js显示apple类型的底部菜单。我向usercontrol添加了一个更新面板。我现在遇到的问题是,它最初工作得很好,但一旦我单击usercontrol中的mail按钮,整个用户控件就会消失,我猜在回发之后。下面是usercontrol和代码视图:

enter code here
公共无效页面加载(对象发送方,事件参数e) {

//设计视图

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ucBottomMenu.ascx.cs"
Inherits="uc_ucBottomMenu" %>
<div id="dockWrapper" style="position: fixed; background: url('user/use.png');
padding: 10px; margin: 0 auto; width: 700px; height: 100px;" class="noprint">

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="dock">

  <asp:PlaceHolder ID="phEmail" runat="server"><a id="hplEmail" runat="server">
        <src="/dock/email.png" title="Email" alt="Email" /></a> </asp:PlaceHolder>



         </asp:PlaceHolder>


</div>
</ContentTemplate>
</asp:UpdatePanel>


您需要在codebehind中注册启动脚本,以调用函数重新初始化jqDock。这是因为在UpdatePanel回发后,
中的所有内容都会被替换

代码隐藏:

ScriptManager.RegisterStartupScript(this, GetType(), reInitjqDock, "reInitjqDock();", true);
//example
function reInitjqDock()
{
  jQuery('#dock').jqDock();
}
脚本:

ScriptManager.RegisterStartupScript(this, GetType(), reInitjqDock, "reInitjqDock();", true);
//example
function reInitjqDock()
{
  jQuery('#dock').jqDock();
}

很抱歉,您的示例中的代码似乎已被注释掉。请使用ScriptManager.RegisterStartupScript而不是ScriptManager.RegisterClientScriptInclude。我确实理解其背后的理论,但我不知道如何实现上面的示例,我正在学习jquery。如果您能帮助我一步一步地解决这个问题,那将非常棒。比如我应该在内容模板之间声明一个函数,并在后面调用该函数代码..比如datHi,我尝试了上面的代码,但没有成功,用户控件在第一次单击后消失