Очистка значения сеанса при использовании Json в MVC - PullRequest
0 голосов
/ 16 января 2019

У меня есть модальное всплывающее окно для создания события, и я хочу, чтобы только входящий в систему пользователь мог видеть эту страницу, сохранить событие и получить событие, все используют json, но когда я возвращаюсь после выхода из системы, значение сеанса все еще присутствует и все действия выполняются, пока я не обновлю страницу, я хочу, чтобы никаких действий не происходило и значение сеанса должно быть очищено при выходе из системы

    public ActionResult Index()
    {

        if(Session["UserID"]==null)
        {
            return RedirectToAction("Index2","Login");
        }
        else
        {
            TempData["usersession"] = Session["UserID"].ToString();
        }
            return View();


    }

<label id="session">@TempData["usersession"]</label>

  //Javascript and Json



$(document).ready(function () {
            username = $('#session').text();
});
 function SaveEvent(data) {
                alert(username);
                    $.ajax({
                        type: "POST",
                        url: '/home/SaveEvent',
                        data: data,
                        success: function (data) {
                            if (data.status) {
                                //Refresh the calendar
                                fetchEvent();
                                $('#myModalSave').modal('hide');
                                //alert(username);
                            }
                        },
                        error: function () {
                            alert('failed');
                        }
                    });

Пока я пытаюсь предупредить имя пользователя, когда я нажимаю на кнопку сохранить, оно все еще показывает значение сеанса

1 Ответ

0 голосов
/ 16 января 2019

ты пробовал это?

 Session.Abandon(); // The Abandon method destroys all the objects stored in a Session object and releases their resources. 

    Session.Remove("YourItem"); //just removes current values

    Session.Clear();// just removes all values

https://stackoverflow.com/a/5330288/7262120

public class VerifyUserAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var user = filterContext.HttpContext.Session["UserID"];
        if (user == null)
            filterContext.Result = new RedirectResult(string.Format("/User/Login?targetUrl={0}",filterContext.HttpContext.Request.Url.AbsolutePath));
    }
}
[VerifyUserAttribute]
 public ActionResult Index()
    {

        if(Session["UserID"]==null)
        {
            return RedirectToAction("Index2","Login");
        }
        else
        {
            TempData["usersession"] = Session["UserID"].ToString();
        }
            return View();


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