Проблема заключается в следующем коде:
if (System.Web.HttpContext.Current.Response.Cookies["CountryPreference"] == null)
, Когда Вы пытаетесь проверить существование cookie с помощью объекта Ответа, а не Запроса, ASP.net автоматически создает cookie.
Проверка это подробное сообщение здесь: http://chwe.at/blog/post/2009/01/26/Done28099t-use-ResponseCookiesstring-to-check-if-a-cookie-exists!.aspx
<час>Кавычка от статьи в случае, если ссылка понижается снова....
короткое объяснение, если Вам don’t нравится читать всю историю
, Если Вы используете код как “if (Ответ. Cookie [“mycookie”]! = пустой указатель) {†¦} ”, ASP.NET автоматически генерирует новый cookie с именем “mycookie” в фоновом режиме и перезаписывает Ваш старый cookie! Всегда используйте Запрос. Набор cookie для чтения cookie!
[[еще 112] деталь в статье ]