Реализация функциональности кнопки Назад в asp.net - PullRequest
1 голос
/ 13 января 2010

Мне нужно реализовать кнопку «Назад» для моего веб-сайта asp.net. Я могу использовать метод javascript для выполнения своих требований. Но, используя этот метод, иногда мне нужно нажимать кнопку «Назад» несколько раз, чтобы вернуться к Предыдущая страница. Это может быть потому, что мы используем вкладки jquery на нашем сайте. Чтобы сосредоточиться на конкретной вкладке, кроме 1-й вкладки при загрузке страницы, я использую Page.ClientScript.RegisterStartupScript (....). Так что я невозможно вернуть пользователя на предыдущую страницу одним щелчком мыши.

Я также пытался использовать методы asp.net-C #, указанные в следующей ссылке. http://www.dotnetcurry.com/ShowArticle.aspx?ID=89 Я могу вернуться на предыдущую страницу, но ее состояние теряется. Может ли кто-нибудь помочь мне выполнить мое требование?

подробности:
У меня есть page1.aspx, page2.aspx (который содержит просмотр / редактирование вкладок jquery).

В page1.aspx есть 2 кнопки («Просмотр», «Редактировать»). Если я нажимаю на кнопку «Просмотр», она переходит на страницу «page2.aspx» (1-я вкладка), и если я нажимаю на кнопку «Редактировать», она должна занять меня. на page2.aspx с загруженной вкладкой «Редактировать». Обе вкладки «Просмотр / редактирование» содержат кнопку «Назад».

Также на вкладке «Вид» я могу перейти на вкладку «Редактировать», нажав на другую кнопку «Изменить», присутствующую в ней.

Спасибо.

Ответы [ 2 ]

1 голос
/ 13 января 2010

Методы, которые вы рассмотрели в своем вопросе, по сути, доступны вам.
Вы можете либо
1. Предоставьте ссылку, которая использует javascript, чтобы заставить клиента вернуться на страницу.
2. Предоставьте ссылку, которая отправляет сообщение обратно на сервер, который перенаправляет вас обратно на страницу.

Я не уверен, почему jquery в вашей веб-форме, как описано в вашем вопросе, заставляет вас нажимать больше, чем один раз, чтобы вернуться. Если вы знаете, что для возврата назад потребуется 2 клика, попробуйте этот метод:

javascript: window.history.go(-2)

Когда вы используете метод обратной передачи / перенаправления, вы всегда будете использовать метод http GET для получения страницы, которую вы также возвращаете. Если вы хотите сохранить состояние, вам придется делать это вручную, т.е. сохранять значения, когда вы покидаете страницу где-то, например, в сеансе или во временной базе данных, и при возврате на страницу во время загрузки страницы проверьте, есть ли у пользователя эти сохраненные значения и предварительно их заполнить.

0 голосов
/ 13 января 2010

Я сделал нечто подобное (хотя с автоматическим перенаправлением), и мне пришлось отслеживать количество страниц, чтобы вернуться в мой ViewState (или Session, если вы переходите со страницы на страницу):

код-за

public void Page_Load()
{
    Session["pagesToGoBack"] = ((int)Session["pagesToGoBack"])++;
}

наценка:

<input type="button" value="Back" onclick='javascript:history.go(<%= Session["pagesToGoBack"] %>);' />

Будьте внимательны при сбросе переменной сеанса, когда это необходимо.

Я чувствовал себя немного грязным, но это сработало:)

...