Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的场景中会话变量的替代方案_Javascript_Asp.net Mvc - Fatal编程技术网

Javascript 我的场景中会话变量的替代方案

Javascript 我的场景中会话变量的替代方案,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我有一个小视图,用户点击它就会弹出并弹出。它必须在页面之间保持其状态。如果用户打开miniview并转到另一个页面并返回,它应该是打开的。。代码是: HTML: 学生信息控制器基本上具有设置字符串值的getminiviewstatus。现在,它很好用,但我不喜欢这种方式。无论如何,我可以在dom加载之间存储状态吗???正如ravi在评论中回答的那样,当使用js和在客户端执行操作时,cookie是一个很好的解决方案。更详细地说,我将使用插件来获取和设置cookie。然后,我将您的代码更改为以下内容

我有一个小视图,用户点击它就会弹出并弹出。它必须在页面之间保持其状态。如果用户打开miniview并转到另一个页面并返回,它应该是打开的。。代码是:

HTML:


学生信息控制器基本上具有设置字符串值的getminiviewstatus。现在,它很好用,但我不喜欢这种方式。无论如何,我可以在dom加载之间存储状态吗???

正如ravi在评论中回答的那样,当使用js和在客户端执行操作时,cookie是一个很好的解决方案。更详细地说,我将使用插件来获取和设置cookie。然后,我将您的代码更改为以下内容,并消除对ajax操作的服务器端支持

$(".pullout_ico").click(function() {
    $.cookie("miniviewstatus", true);
});
$(".pullout_button").click(function() {
    $.cookie("miniviewstatus", false);
});

var status = $.cookie("miniviewstatus");
if (status) {
    openMiniView();
} else {
    closeMiniView();
}

function openMiniView() {
    $(".pullout_block").show(250);
    $(".pullout_ico").hide(100);
    $(".left_content").removeClass("bigger_left_content");
}

function closeMiniView() {
    $(".pullout_ico").show(100);
    $(".pullout_block").hide(250);
    $(".left_content").addClass("bigger_left_content");
}

看起来不错。我唯一能想到的就是使用简单的浏览器cookie并摆脱服务器依赖性。
$(".pullout_ico").click(function() {
        var url = "/StudentInformation/getminiviewstatus";
        $.post(url, { status: "true" }, function (data) {
            openMiniView();
        });
    });
    $(".pullout_button").click(function() {
        var url = "/StudentInformation/getminiviewstatus";
        $.post(url, { status: "false" }, function (data) {
            closeMiniView();
        });

    });
    var status = $("#miniviewstatus").val();
    if (status == "true") {
        openMiniView();
    }
    if (status == "false") {
        closeMiniView();
    }
    function openMiniView() {
            $(".pullout_block").show(250);
            $(".pullout_ico").hide(100);
            $(".left_content").removeClass("bigger_left_content");
    }
    function closeMiniView() {
            $(".pullout_ico").show(100);
            $(".pullout_block").hide(250);
            $(".left_content").addClass("bigger_left_content");
    }
};
$(".pullout_ico").click(function() {
    $.cookie("miniviewstatus", true);
});
$(".pullout_button").click(function() {
    $.cookie("miniviewstatus", false);
});

var status = $.cookie("miniviewstatus");
if (status) {
    openMiniView();
} else {
    closeMiniView();
}

function openMiniView() {
    $(".pullout_block").show(250);
    $(".pullout_ico").hide(100);
    $(".left_content").removeClass("bigger_left_content");
}

function closeMiniView() {
    $(".pullout_ico").show(100);
    $(".pullout_block").hide(250);
    $(".left_content").addClass("bigger_left_content");
}