我觉得我已经做过很多次了,但是我无法终生发现问题所在。
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("/");
}
如果我在URL中键入“ /SingleSignOn.aspx”,它将重定向到Default.aspx,但是引荐来源网址为null。
我在这里想念什么?
我想做的事(这是一个简化的示例),在任何页面上,我都会有一些JavaScript来执行以下操作:
window.location.replace('~/SingleSignOn.aspx');
您猜对了,然后登录用户并重定向到主页。
但是如果我们只是从那里来到的话,我需要在JavaScript中构建逻辑以不重定向到SingleSignOn.aspx页面。
引荐来源网址是否仅由实际的链接用户点击填充?
然后我该怎么做?我不想使用QueryString,因为我不想在URL中看到它。
我能想到的唯一其他选择是会话。
请帮助。 =(
我觉得我已经做过很多次了,但是我无法终生发现问题所在。 Default.aspx:受保护的void Page_Load(对象发送者,EventArgs e){var r1 = Request ....
所以,我已经做了一些Google搜索来找到我的答案。
只是预感,但请尝试使用绝对URL代替/甚至包括http://部分。
已经很晚了,但是您可以管理响应。重定向内容,您可以将查询参数用作response.redirect("/?url=home.aspx&q=whatever")
。