2
我使用asp.net與c#在我的aspx頁面我有這個面板中的更新面板我有一些鏈接到其他網站,這是打開的同一個窗口。在點擊這些鏈接後,當我通過瀏覽器的後退按鈕回來時,我在更新面板上得不到相同的結果...我怎樣才能得到相同的頁面點擊瀏覽器的後退按鈕
我使用asp.net與c#在我的aspx頁面我有這個面板中的更新面板我有一些鏈接到其他網站,這是打開的同一個窗口。在點擊這些鏈接後,當我通過瀏覽器的後退按鈕回來時,我在更新面板上得不到相同的結果...我怎樣才能得到相同的頁面點擊瀏覽器的後退按鈕
我已經用下面的文章實現了相同的功能,如果需要進一步的幫助,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"]);
}
}
}
普萊舍我提供的代碼... I HV一些混亂 – saurabh 2009-06-10 05:32:28