2009-06-10 27 views

回答

6

我已經用下面的文章實現了相同的功能,如果需要進一步的幫助,Plz讓我知道,我會提供的代碼夾頭

http://rchern.wordpress.com/2008/05/11/updatepanel-backforward-browser-navigation/

首先,你必須啓用ScriptManager的歷史EnableHistory =「真」
在這個例子中,我們維修器材gridview的分頁,當用戶瀏覽器的後退按鈕 您在第一次加載頁面後添加了歷史記錄點。

private void AddHistoryPoint(String key, String value, String tile) 
{ 
    ScriptManager scm = ScriptManager.GetCurrent(this.Page); 
    if ((scm.IsInAsyncPostBack == true) && (scm.IsNavigating != true)) 
    { 
     if (pageState == null) 
     { 
      NameValueCollection pageState = new NameValueCollection(); 
     } 
     if (pageState[key] != null) 
     { 
      pageState[key] = value; 
     } 
     else 
     { 
      pageState.Add(key, value); 
     } 
     scm.AddHistoryPoint(pageState, tile); 
    } 
} 

protected void grid_PageIndexChanged1(object sender, EventArgs e) 
{ 
    AddHistoryPoint("pi", grdProject.PageIndex.ToString(), "Page Index- " + (grdProject.PageIndex + 1).ToString()); 
} 



在這裏你必須處理的ScriptManager導航事件

 protected void ScriptManager1_Navigate(object sender, System.Web.UI.HistoryEventArgs e) 
{ 
    if (e.State != null) 
    { 
     if (e.State["pi"] != null) 
     { 
      grid.PageIndex = Convert.ToInt32(e.State["pi"]); 
     } 
    } 
} 
+0

普萊舍我提供的代碼... I HV一些混亂 – saurabh 2009-06-10 05:32:28

相關問題