无法在asp.net中使用jquery更新cookie

unable to update cookies using jquery in asp.net

本文关键字:jquery 更新 cookie asp net      更新时间:2023-09-26

我有一个使用cookie更新搜索过滤器结果的asp.net网页。我正在使用一个复选框列表,其中填充了不同的类别,如体育,音乐,食品等,并使用jquery on change事件,我使用jquery和JavaScript为cookie编写索引和类别ID。它根据选中的复选框的数量构建一个类似于"1=26&2=14"的多值cookie。然后在回发时,c#代码读取cookie以更新搜索过滤器和搜索结果。这在Chrome, Firefox和Safari中工作得很好。但由于某些原因,它不能在IE 10中工作。我不知道我做错了什么,任何帮助都是感激的。下面是jquery事件:

    $('.cbl-eventSearchAdv-category input[type="checkbox"]').change(function () {
    var index = 1;
    var cookieString= "";
    $('.cbl-eventSearchAdv-category input[type="checkbox"]').not(':first').each(function () {
        if ($(this).is(':checked')) {
            cookieString += index + "=" + $(this).val() + "&";
            index++;
        }
    });
    var newCookieString = cookieString.slice(0, -1);
    document.cookie = "CategoriesSelectedEvents=" + newCookieString + "; expires=;  path=/";
});

似乎IE不允许空的expires属性。根据文档,如果未设置该属性,cookie将持续到会话结束。所以我认为这应该像预期的那样工作:

document.cookie = "CategoriesSelectedEvents=" + newCookieString + "; path=/";

我还建议使用jQuery。