我想知道如何使用重定向发送自定义 header ,目前没有成功。我正在尝试执行以下操作:
Response.Clear();
Response.AddHeader("X-PagePathNode", "/public/IPOs.aspx");
Response.Status = "301 Moved Permanently";
Response.StatusCode = 301;
Response.AppendHeader("Location", "default.aspx");
Response.End();
当我查看 Request 对象的 header 时,新 header 不存在。看看 firebug,发生了以下情况。进行位置更改的页面具有新的标题。但是,该位置重定向的页面也不包含请求中的新 header 。
我的问题是如何使用新 header 重定向到新位置,从重定向到新位置的 Request 对象。
本质上,我希望能够:Request.Header[“X-PagePathNode”]
在页面加载时查看从重定向添加的 header 。
感谢任何帮助。
最佳答案
您可以尝试几种不同的方法。您的工具包括Session variables , cookies ,Referrer HTTP header和一个查询字符串。
据我了解,您想要发出从页面 A
到页面 B
的 HTTP 301 重定向,并且从页面 B
,您希望承认此重定向已经发生的事实(并且可能添加一些额外的 header 或逻辑)。
这里有一些方法:
- 从页面
A
中,设置一个Session
变量,并检查其在页面B
中是否存在(然后您可能想要删除所述session
变量)。 - 从页面
A
中设置 cookie,并检查其在页面B
中是否存在。 - 从页面
B
中,检查Request.UrlReferrer
并查看它是否是页面A
,然后执行您的逻辑。
关于ASP.NET:Response.AppendHeader,位置 301 永久移动,使用自定义 header 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7974526/