2011-03-03 24 views
0

我有一個用戶控件,它充當我的網站的頁腳,並使用java腳本jqdock.js顯示蘋果類型底部菜單。我向usercontrol添加了一個更新面板。我現在有什麼問題,它初始工作正常,但是一旦我點擊了usercontrol中的郵件按鈕,整個用戶控件消失後,我猜。下面是該用戶控件和代碼視圖:使用更新面板時的用戶控件消失

enter code here 

公共無效的Page_Load(對象發件人,EventArgs的) {

// 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

抱歉其*的 Email 2011-03-03 17:41:08

回答

0

您需要在你的代碼隱藏中註冊一個啓動腳本來調用一個函數來重新初始化你的j qDock。這是因爲UpdatePanel回發之後,<ContentTemplate></ContentTemplate>中的所有內容都被替換了。

代碼隱藏:

ScriptManager.RegisterStartupScript(this, GetType(), reInitjqDock, "reInitjqDock();", true); 

腳本:

//example 
function reInitjqDock() 
{ 
    jQuery('#dock').jqDock(); 
} 
+0

如何獲得該成績 – 2011-03-03 17:49:33

+0

看起來您的代碼中已註釋了代碼。使用ScriptManager.RegisterStartupScript而不是ScriptManager.RegisterClientScriptInclude。 – 2011-03-03 17:50:45

+0

我試過,但它不起作用。 – 2011-03-03 17:52:39

相關問題