我在aspx页面的c#中使用asp.net和c#,在此面板中有一个更新面板,我有一些指向其他站点的链接,这些链接在同一窗口中打开。在单击这些链接后,当我通过浏览器的后退按钮返回时,在更新面板上没有得到相同的结果…
我已经在以下文章中实现了相同的方法,如果您需要进一步的帮助,请Plz告诉我,我将提供代码
http://rchern.wordpress.com/2008/05/11/updatepanel-backforward-browser- navigation/
首先,您必须启用ScriptManager历史记录EnableHistory =“ true” 在此示例中,我们将维护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"]); } } }