Реализация функциональности кнопки «Назад» в asp.net

StackOverflow https://stackoverflow.com/questions/2056231

Вопрос

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

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

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

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

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

Спасибо.

Это было полезно?

Решение

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

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

javascript: window.history.go(-2)

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

Другие советы

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

код программной части

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

наценка:

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

Будьте осторожны и при необходимости сбрасывайте переменную сеанса.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top