ASP.NET - Response.Redirect не заполняет URL-реферер

Мне кажется, что я делал это много раз, но я не могу понять, что происходит не так.

Default.aspx:

protected void Page_Load(object sender, EventArgs e)
{
   var r1 = Request.UrlReferrer; // null
   var r2 = Request.ServerVariables["HTTP_REFERRER"]; // null
}

SingleSignOn.aspx:

protected void Page_Load(object sender, EventArgs e)
{
   Response.Redirect("/");
}

Если я набираю "/SingleSignOn.aspx" в URL-адресе, он перенаправляет на Default.aspx, но реферер имеет значение null.

Что мне здесь не хватает?

Что я пытаюсь для выполнения (это упрощенный пример), находится на любой странице, у меня будет некоторый JavaScript для выполнения следующих действий:

window.location.replace('~/SingleSignOn.aspx');

Который, как вы уже догадались, подписывает пользователя и перенаправляет его на домашнюю страницу.

Но я необходимо встроить логику в этот JavaScript, чтобы не перенаправлять на страницу SingleSignOn.aspx, если мы только что пришли оттуда.

Зачисляется ли реферер только по фактическим кликам пользователя по ссылке?

Как я могу это сделать? Я не хочу использовать QueryString, потому что не хочу видеть это в URL.

Единственный другой вариант, о котором я могу думать, - это сеанс.

Пожалуйста, помогите. = (

12
задан RPM1984 17 September 2010 в 06:32
поделиться