Как контролировать действие нажатия на предыдущую страницу в браузере - PullRequest
0 голосов
/ 18 мая 2011

После тестирования моего приложения я заполнил форму с некоторым значением, сохранил, а затем хотел добавить еще одного человека в список. но на полпути формы я передумал и нажал кнопку возврата в браузере, но затем произошло нечто странное. данные из предыдущей формы загружаются вместо возврата на предыдущую страницу (должен быть список лиц).

Как предотвратить это?

  Function AddPersoon(subdienstid As Integer) As ActionResult
        Dim viewModel As New PersoonViewModel
        ViewData("Persoon.rijbewijsId") = ConvertToSelectlistItemList(_iSubDienstService.GetAllRijbewijzen(), 1)
        ViewData("Persoon.PersoonStatusId") = ConvertToSelectlistItemList(_iSubDienstService.GetAllPersoonStatussen(), 1)
        Return View(viewModel)
    End Function

    <HttpPost()> _
    Function AddPersoon(subdienstid As Integer, model As PersoonViewModel) As ActionResult
        If ModelState.IsValid Then
            Try
                _iSubDienstService.AddPersoonTo(subdienstid, model)
                Return RedirectToAction("Details", New With {.id = subdienstid})
            Catch ex As Exception

            End Try
        End If
        ViewData("Persoon.rijbewijsId") = ConvertToSelectlistItemList(_iSubDienstService.GetAllRijbewijzen(), model.Persoon.RijbewijsId)
        ViewData("Persoon.PersoonStatusId") = ConvertToSelectlistItemList(_iSubDienstService.GetAllPersoonStatussen(), model.Persoon.PersoonStatusId)
        Return View(model)
    End Function

1 Ответ

0 голосов
/ 18 мая 2011

Как управлять действием нажатия на предыдущую страницу в браузере

Это чистый JavaScript, так как есть метод, который вы можете подключить, который называется onBeforeUnload, который срабатывает припользователь закрывает или переходит на другую страницу в истории браузера.

Я бы порекомендовал добавить скрипт (например, если вы используете jQuery):

var msg = "You're about to leave this page, all changes will not been save.\n" +
          "Are you sure you want to leave?";

$(window).bind("beforeunload", function () {
    if( confirm(msg) ) 
        return true;
    return false;
});

Live пример .

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...