Файл cookie, созданный в JavaScript, не обновляется при использовании ASP.NET

#javascript #asp.net #cookies

#javascript #asp.net #файлы cookie

Вопрос:

Я создаю файл cookie в JS, используя это:

 function setCookie(name, value, expires, path, domain, secure) {
    var curCookie =
        name   "="   value  
        ((expires) ? "; expires="   expires.toGMTString() : "")  
        ((path) ? "; path="   path : "/")  
        ((domain) ? "; domain="   domain : "")  
        ((secure) ? "; secure" : "");
    document.cookie = curCookie;
}

setCookie('AccountSelectedTab', '1');
 

когда я затем пытаюсь отредактировать этот файл cookie с помощью ASP.NET:

 Response.Cookies['AccountSelectedTab'].Value = 'some value';
 

Он создает другой файл cookie вместо его изменения.

Если я установлю одинаковый путь для обоих файлов cookie, я не получу второй, но JS-файл не обновляется.

Я думаю, я что-то упускаю, но мне нужно представление о том, что…

Спасибо.

Комментарии:

1. Знаете ли вы, что ваш текущий JavaScript создает файл cookie сеанса, потому что вы опустили флаги expires и max-age ?

2. ДА. Мне не нужно, чтобы это сохранялось дольше, чем пользователь находится на веб-сайте.

3. Что заставляет вас думать, что это создает еще один файл cookie? Я протестировал ваш код на тестовом веб-сайте, и он отлично работает. Можете ли вы предоставить дополнительную информацию?

Ответ №1:

Я полагаю, вы меняете свой код как :

 HttpCookie cookie = new HttpCookie("newCookie");

cookie.HttpOnly = false;
 

без этого вы не сможете получить доступ к файлам cookie через Javascript.

Комментарии:

1. Как это решение вопроса OP?