我有一个用户控件,它充当我网站的页脚,并使用java脚本jqdock.js显示苹果类型底部菜单。我在usercontrol中添加了一个更新面板。我现在遇到的问题是,它最初工作正常,但是一旦我点击了usercontrol中的邮件按钮,整个用户控制就会消失,在回发后我猜。下面是usercontrol和代码视图:
enter code here
public void Page_Load(object sender,EventArgs e) {
// Page.ClientScript.RegisterClientScriptInclude("bottomMenu", "../js/jqDock.js");
ScriptManager.RegisterClientScriptInclude(this,this.GetType(),"bottomMenu", "../js/jqDock.js");
//ScriptManager.RegisterStartupScript(this, this.GetType(), "bottomMenu", "../js/jqDock.js",true);
}
//设计视图
<%@ 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>
答案 0 :(得分:0)
您需要在代码隐藏中注册启动脚本以调用函数来重新初始化您的jqDock。这是因为在UpdatePanel回发之后,<ContentTemplate></ContentTemplate>
内的所有内容都被替换了。
<强>代码隐藏:强>
ScriptManager.RegisterStartupScript(this, GetType(), reInitjqDock, "reInitjqDock();", true);
<强>脚本:强>
//example
function reInitjqDock()
{
jQuery('#dock').jqDock();
}