Простой ответ, вы не можете. Это технически невозможно.
Если вы посмотрите на ASP.NET page lifecycle overview, вы увидите, что событие загрузки страницы происходит до того, как страница начнет рендеринг - что сделало бы полностью невозможным для клиента выполнение JavaScript на странице в этот момент, пользователь агент (браузер) даже не начал, чтобы получить страницу. За исключением исключения, все события жизненного цикла страницы ASP.NET происходят на сервере и до того, как пользователь отправит любой ответ.
Событие разгрузки вряд ли когда-либо выполнится после вашего JavaScript, если вы не передаете ответ пользователю, имел JavaScript (без зависимостей) в первой возможной точке страницы и создавал действительно сложную страницу ответ. Даже если JavaScript каким-то образом выполнялся до запуска события разгрузки, это не имело бы значения, поскольку файлы cookie отправляются со страницей с запросом, и это уже произошло. Куки-файлы не будут отправляться до следующего запроса из этого домена (хотя он не должен быть запрашиваемой страницей, изображения, сценарии или запросы стилей будут включать в себя файлы cookie в своих заголовках запроса).
Возможно, ваш JavaScript настроил куки-файл по первому запросу, который затем будет доступен для всех последующих запросов в обработчике событий загрузки и будет использовать запрос Ajax (если необходимо) для регистрации этой начальной страницы и назначенного значения cookie - который будет отправлен (при условии, что он был установлен в этой точке) в заголовках для запроса Ajax.
То, что вы не можете сделать, это установить cookie в браузере пользователя до того, как пользователь посетит ваш сайт, выполнит JavaScript до его отправки пользователю или отправит часть запроса данных через ответ.
Рассматривали ли вы настройку cookie на странице, которая открыта непосредственно перед открытием этой страницы? – user2721607