检查模型/会话是否存在并且在JavaScript中不为null

检查模型/会话是否存在并且在JavaScript中不为null,javascript,c#,asp.net-mvc,Javascript,C#,Asp.net Mvc,我已经建立了一个退出意图弹出窗口,当用户想要退出站点时将显示它。然后,此弹出窗口将向数据库保存一个条目(只要选择了下拉列表并且客户端具有有效的唯一密钥)。这一切都很好 我面临的问题是,如果用户没有指定有效的唯一键(在提交第一页时创建),则弹出窗口不应显示。此密钥在会话中找到(此会话是类对象) 这就是它的创建方式: 类对象: public class PolicyBase { //This will hold the whole object in terms of

我已经建立了一个退出意图弹出窗口,当用户想要退出站点时将显示它。然后,此弹出窗口将向数据库保存一个条目(只要选择了下拉列表并且客户端具有有效的唯一密钥)。这一切都很好

我面临的问题是,如果用户没有指定有效的唯一键(在提交第一页时创建),则弹出窗口不应显示。此密钥在会话中找到(此会话是类对象)

这就是它的创建方式:

类对象:

    public class PolicyBase
    {
        //This will hold the whole object in terms of the policy

        public string SessionKey { get; set; }
        public int polKey { get; set; }
        //Other items
    }
设置会话:

    public class SessionHelper
    {
    #region Session INIT

    public static PolicyBase PolicyBase
    {
        get { return GetSession<PolicyBase>("PolicyBase"); }
        set { SetSession("PolicyBase", value); }
    }
    }
我有没有办法做到这一点?还是有更好的解决办法?
我读过关于等待页面完成加载的内容,但即使完成了加载,上述内容仍然是一个问题)

会话变量仅限于服务器端。您必须在显示弹出窗口的位置对服务器进行ajax调用如果您不想进行额外的ajax调用,您可以将对象添加到页面模型并从中绑定。非常感谢,我将尝试ajax调用。将对象添加到页面模型不是首选,因为这将需要在所有页面上完成(需要是通用的,并在所有当前和未来页面中使用)…会话变量仅为服务器端变量。您必须在显示弹出窗口的位置对服务器进行ajax调用如果您不想进行额外的ajax调用,您可以将对象添加到页面模型并从中绑定。非常感谢,我将尝试ajax调用。将对象添加到页面模型不是首选,因为这将需要在所有页面上完成(需要是通用的,并在所有当前和未来页面中使用)。。。。
    addEvent(document, "mouseout", function (e) {
    e = e ? e : window.event;
    var from = e.relatedTarget || e.toElement;
        if (!from || from.nodeName == "HTML") {
            //if (event.clientY <= 0 || event.clientX <= 0 || (event.clientX >= window.innerWidth || event.clientY >= window.innerHeight)) {
            if (event.clientY <= 0 || (event.clientY >= window.innerHeight)) {
                $("#dialog-exit-intent").modal("show");
            }
        }
});
    addEvent(document, "mouseout", function (e) {
    e = e ? e : window.event;
    var from = e.relatedTarget || e.toElement;

   // var session = '<%= Session["PolicyBase"] %>';
    var session = localStorage.getItem("PolicyBase")
    alert(session);

    var varQuoteKey = localStorage.getItem("PolicyBase"); // '<%= Session["PolicyBase"] %>';
    if (session.val() != null && session.val() != '') {

        if (!from || from.nodeName == "HTML") {
            //if (event.clientY <= 0 || event.clientX <= 0 || (event.clientX >= window.innerWidth || event.clientY >= window.innerHeight)) {
            if (event.clientY <= 0 || (event.clientY >= window.innerHeight)) {
                $("#dialog-exit-intent").modal("show");
            }
        }
    }
});  
    public ActionResult SavePolicyLeaveReason(int exitIntentLeaveReasonKey)
    {
        var polBase = SessionHelper.PolicyBase;
        //some code 

        if (polBase != null)
        {
            //some code
            polStatus = "T";
        }
        else
        {
            polStatus = "F";
        } 
        return Json(polStatus);
    }