Я использую asp.net с С# на моей странице aspx. У меня есть панель обновлений на этой панели. У меня есть несколько ссылок на другие сайты, которые открыты в том же окне. после нажатия на эти ссылки, когда я возвращаюсь через кнопку «Назад» в браузере, я не получаю те же результаты на панели обновления...
как я могу получить ту же страницу, нажав кнопку «Назад» в браузере
Ответы (1)
Я реализовал то же самое со следующей статьей. Если вам нужна дополнительная помощь, пожалуйста, дайте мне знать, я предоставлю фрагменты кода.
http://rchern.wordpress.com/2008/05/11/updatepanel-backforward-browser-navigation/
Прежде всего, вам необходимо включить историю ScriptManager EnableHistory="true"
В этом примере мы поддерживаем разбиение по страницам в представлении сетки. Когда пользователь нажимает кнопку «Назад» в браузере пользователя, вы добавляете точку истории после первой загрузки страницы.
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 Navigate
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"]);
}
}
}
person
Muhammad Akhtar
schedule
10.06.2009