ASP.NET:Response.AppendHeader,位置301已永久移动,使用自定义标头发送

时间:2011-11-02 00:27:23

标签: asp.net

我想知道如何使用重定向发送自定义标头,目前没有成功。我正在尝试执行以下操作:

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对象的标题时,新标题不在那里。看着萤火虫,发生了以下情况。正在进行位置更改的页面具有新标题。但是,位置已重定向的页面也不包含请求中的新标头。

我的问题是如何将新标题重定向到新位置,重定向到新位置的Request对象。

基本上我希望能够在页面加载时Request.Header[“X-PagePathNode"]查看从重定向添加的标题。

感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您可以尝试几种不同的方法。您的工具包括Session variablescookiesReferrer HTTP header和查询字符串。

根据我的理解,您希望发布从页面A到页面B的HTTP 301重定向,并从页面B发出,您希望确认此重定向已包含发生(并可能添加一些额外的标题或逻辑)。

以下是一些方法:

  • 从页面A设置Session变量,并在页面B中检查其是否存在(那么您可能希望删除所述Session变量)。
  • 从页面A设置Cookie,并在页面B中检查其是否存在。
  • 从页面B,检查Request.UrlReferrer并查看它是否为A页,然后执行您的逻辑。