Показывать уведомление после перенаправления на страницу в ASP.NET MVC

#javascript #ajax #asp.net-mvc #window.location

#javascript #ajax #asp.net-mvc #окно.Расположение

Вопрос:

Ниже приведен мой код ajax:

 $.ajax({
         url: '@Url.Action("AddUser", "ControllerName")',
         dataType: 'json',
         contentType: 'application/x-www-form-urlencoded; charset=utf-8',
         type: 'POST',
         data: {
                //data
         },
         success: function (data, textStatus, jqXHR) {
               console.log(jqXHR.status);
               if (data.isSuccess) {
                   alert(data.message);
               }
               else {
                   alert(data.message);
               }
               window.location.href = "@Url.Action("Index", "ControllerName")";
         },
         error: function (jqXHR, textStatus, errorThrown) {
               console.log(jqXHR.status);
               window.location.href = "@Url.Action("Index", "ControllerName")";

         }
});
  

Вместо отображения alert(data.message); я хочу показывать пользовательское уведомление после загрузки страницы.

Я не хочу передавать какие-либо параметры строки запроса, поскольку это видно в URL.

Есть два возможных способа отображения уведомлений:

1)

 $(".notificationdiv").html("<div class='notification  alert alert-success' role='alert'>
<strong> Operation performed successfully</strong>
</div>");
$(".notification").fadeOut(4000);
  
  1. У меня есть пользовательский виртуальный метод базового контроллера для отображения уведомлений.
    Вызов этого метода после перенаправления страницы.

Пожалуйста, дайте мне знать, как показывать уведомления. Приветствуется пример кода. Заранее благодарю вас.

Ответ №1:

Использовать sessionStorage

В ajax успех перед окном.Расположение.href добавьте это

 sessionStorage.successMessage= true;
  

И добавьте это в свой jquery

 $(function () {
    if (sessionStorage.successMessage) {
        $(".notificationdiv").html("<div class='notification  alert alert-success' role='alert'><strong> Operation performed successfully</strong></div>");
        $(".notification").fadeOut(4000);
        sessionStorage.successMessage= false;
        sessionStorage.removeItem("successMessage") //if you want remove from session storage
    }
});