2012-06-20 12 views
0

感謝您的回覆。當我點擊「首先點擊」鏈接時,瀏覽器的URL會發生變化。當我點擊第二個鏈接時,它也會更新瀏覽器中的URL,但如果我點擊更新面板中的「更新按鈕」,它會發回一些服務器功能。更新面板下的網址未更新

之後,如果我點擊任何鏈接按鈕更新URL功能不起作用的。

不要ü有任何想法更新面板功能後重新初始化jQuery代碼?

我知道當我們在更新面板中使用jQuery時,我們必須在每次頁面加載時重新初始化它,但是我無法找到該jQuery插件的正確jQuery函數來調用asp.net頁面加載事件。

這裏是jQuery插件的

http://code.google.com/p/news21-berkeley/source/browse/branches/v2011/js/jquery.address-1.4.min.js?spec=svn671&r=671

//Page Updating.aspx 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UpdatingUrl.aspx.cs" Inherits="UpdateUrl.UpdatingUrl" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="jquery-1.6.min.js" type="text/javascript"></script> 
    <script src="jquery.address-1.4.min.js" type="text/javascript"></script> 
    <style type="text/css"> 
     .style1 
     { 
      width: 100%; 
     } 
    </style> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <asp:ScriptManager ID="ScriptManager1" runat="server" /> 
    <asp:UpdatePanel runat="server" ID="UpdatePanel" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <table class="style1"> 
       <tr> 
        <td> 
         <a href="#" rel="address:/section/?id=1&amp;name=Ravindra nofollow">Click it first</a> 
        </td> 
       <td> 
        <asp:Button runat="server" ID="UpdateButton1" OnClick="UpdateButton_Click" Text="Update" /> 
        <asp:Label runat="server" ID="DateTimeLabel1" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <a href="#" rel="address:/section/?id=2&amp;name=Chauhan nofollow">Click it after Update 
         Button click</a> 
       </td> 
       <td> 
        &nbsp; 
       </td> 
      </tr> 
     </table> 
    </ContentTemplate> 
</asp:UpdatePanel> 
</form> 
</body> 
</html> 

//UpdatingUrl.aspx.cs Page 

    protected void UpdateButton_Click(object sender, EventArgs e) 
    { 
     DateTimeLabel1.Text = DateTime.Now.ToString(); 
    }  

回答

1

你需要_endRequest,_beginRequest處理程序的鏈接。在代碼後面添加這個。

public object endRequestHandle { get; set; } 

public object beginRequestHandle { get; set; } 

在你的aspx頁面,補充一點:

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle); 
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle); 
     function beginRequestHandle(sender, Args) { 
      //call any function if you want before Ajax update/request begins 
     } 

     function endRequestHandle(sender, Args) { 
     $.getScript("jquery.address-1.4.min.js", function(data, textStatus, jqxhr){}); 
     } 

現在,它會工作,該腳本將重新加載並執行。更多關於$ .getScript()here

+0

我認爲你是在正確的軌道萊塔,但看問題的示例代碼;它看起來並不像手動觸發地址插件,而是通過解析rel屬性自動激活。您可能想要添加到您的答案,在endRequestHandle JavaScript中,他們還需要手動觸發地址插件。 –

+0

哎呀,沒有看到,@ chouhan_ravi5編輯答案,希望它的作品 –

+0

很酷,我不知道jquery.address是否有辦法做一個手動觸發? –