1000hz / bootstrap-validator

A user-friendly HTML5 form validation jQuery plugin for Bootstrap 3
http://1000hz.github.io/bootstrap-validator
MIT License
2.38k stars 1.07k forks source link

Session is still present until i dont refresh the page #647

Open sunnyk11 opened 5 years ago

sunnyk11 commented 5 years ago

I am using json to save data and fetch data. when i logout from the page, the session should be clear and when i press back button of the browser, and perform any event it should redirect me back to login page, but instead save feature is working when i press back button but when i refresh it redirects me to login page. This should happen without me refreshing the page

Controller: `public ActionResult Index() {

            return View();

    }

    public ActionResult Logout()
    {
        Session.Clear();

        Session.Abandon();
        return RedirectToAction("Index2", "Login");
    }
    public JsonResult GetEvents(string username)
    {

        //var status = false;
        using (MeetingEntities db = new MeetingEntities())
            {
                var events = db.MeetingDetails.Where(a => a.User_name == username).ToList();

                return new JsonResult { Data = events, JsonRequestBehavior = JsonRequestBehavior.AllowGet };

            }

    }

    [HttpPost]

    public JsonResult SaveEvent(MeetingDetail Ms)
    {

           var status = false;
            using (MeetingEntities db = new MeetingEntities())
            {

                if (Ms.MeetingId > 0)
                {
                    var v = db.MeetingDetails.Where(a => a.MeetingId == Ms.MeetingId).FirstOrDefault();
                    if (v != null)
                    {
                        v.User_name = Ms.User_name;
                        v.Subject = Ms.Subject;
                        v.Start = Ms.Start;
                        v.End = Ms.End;
                        v.Description = Ms.Description;
                        v.IsfullDay = Ms.IsfullDay;
                        v.ThemeColor = Ms.ThemeColor;
                    }
                }
                else
                {
                    db.MeetingDetails.Add(Ms);
                }
                db.SaveChanges();
                status = true;
            }
            return new JsonResult { Data = new { status = status } };

        //var username = Session["UserID"].ToString();

    }

    public JsonResult deleteEvent(int eventID)
    {
        var status = false;
        {
            using (MeetingEntities db=new MeetingEntities())
            {
                var v = db.MeetingDetails.Where(a => a.MeetingId == eventID).FirstOrDefault();
                if (v != null)
                {
                    db.MeetingDetails.Remove(v);
                    db.SaveChanges();
                    status = true;
                }
            }
        }
        return new JsonResult { Data = new { status = status } };
    }

}`

View: $(document).ready(function () {

        var username = '@Session["UserID"].ToString()';
        //var username = $('#session').val();
        var events = [];
        var selectedEvent = null;
        fetchEvent();
        //alert(session).val();
        function fetchEvent() {
            events = [];
            $.ajax({
                type: "GET",
                url: '/home/GetEvents',
                data: { 'username': username },
                success: function (data) {
                    $.each(data, function (i, v) {
                        events.push({

                            username: v.User_name,
                            eventID: v.MeetingId,
                            title: v.Subject,
                            description: v.Description,
                            start: moment(v.Start),
                            end: v.End != null ? moment(v.End) : null,
                            color: v.ThemeColor,
                            allDay: v.IsfullDay
                        });
                    });
                    GenerateCalendar(events);
                },
                error: function (error) {
                    alert('failed');
                }

            });
        }

$('#btnSave').click(function () { alert(username); if ($('#txtsubject').val().trim() == "") { alert('Subject required'); return; } if ($('#txtstart').val().trim() == "") { alert('Start Date required'); return; } if ($('#txtsubject').val().trim() == "") { alert('Subject required'); return; } if ($('#chkisfullday').is(':checked') == false && $('#txtend').val().trim() == "") { alert('End Date required'); return; } else { var startDate = moment($('#txtstart').val(), "DD/MM/YYYY HH:mm A").toDate(); var endDate = moment($('#txtend').val(), "DD/MM/YYYY HH:mm A").toDate(); if (startDate > endDate) { alert('Invalid end date'); return; } }

            var data = {
                MeetingId: $('#hdEventID').val(),
                Subject: $('#txtsubject').val().trim(),
                Start: $('#txtstart').val().trim(),
                End: $('#chkisfullday').is(':checked') ? null : $('#txtend').val().trim(),
                Description: $('#txtDescription').val(),
                ThemeColor: $('#ddThemecolor').val(),
                IsfullDay: $('#chkIsFullDay').is(':checked'),
                User_name: username
            }

            SaveEvent(data);
            //alert(username);
            //call function for submit data on the server
        });
        function SaveEvent(data) {

            $.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');
                }
            });
        }

    });