ASP.NET использует трюк, который анализирует URL-адрес, так что с точки зрения клиента он находится в одном каталоге, поэтому он всегда будет сохранять идентификатор сеанса, не беспокоясь об изменении вашего javascript или внешних файлов javascript и т. Д.
Пример:
http://localhost:50311/SomeWebSite/(S(f2rvdgj1bj1nyuzhfeqrvveq))/Page2.aspx
Обычно URL-адрес будет "http://localhost:50311/SomeWebSite/Page2.aspx"", но поскольку веб-клиент (браузер) считает, что идентификатор сеанса является каталогом (/ (S (f2rvdgj1bj1nyuzhfeqrvveq)) /), он с радостью попытается остаться в том же самом каталог.
Таким образом, ASP.NET фактически не обрабатывает выведенные URL-адреса, а клиент просто перенаправляет их.
Если вы хотите, чтобы абсолютные URL-адреса получали идентификатор сеанса, создать тривиальный элемент управления привязки, который проверяет, находится ли целевой URL-адрес в корне вашего приложения, будет тривиально, чтобы вы не передавали этот идентификатор сеанса внешнее приложение, которое не знает, что с ним делать.