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

ASP.NET:Response.AppendHeader,位置301永久移动,使用自定义标题发送,asp.net,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(

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

Response.Clear();
Response.AddHeader("X-PagePathNode", "/public/IPOs.aspx");
Response.Status = "301 Moved Permanently";
Response.StatusCode = 301;
Response.AppendHeader("Location", "default.aspx");
Response.End();
当我查看请求对象的头时,新的头不在那里。看看firebug,下面的情况正在发生。正在进行位置更改的页面具有新的标题。但是,该位置重定向的页面也不包含请求中的新标头

我的问题是如何将新头从重定向到新位置的请求对象重定向到新位置

基本上,我希望能够:
Request.Header[“X-PagePathNode”]
在页面加载上查看从重定向添加的头


感谢您的帮助。

您可以尝试几种不同的方法。其中包括,和查询字符串

据我所知,您希望从第
a
页到第
B
页发出HTTP 301重定向,并且从第
B
页,您希望确认此重定向已经发生(并且可能添加一些额外的头或逻辑)

以下是一些方法:

  • 从第
    A
    页设置一个
    Session
    变量,并在第
    B
    页检查其存在性(然后您可能希望删除所述
    Session
    变量)
  • 从第
    A
    页设置cookie,并在第
    B
    页检查cookie是否存在
  • B
    页面,检查
    Request.urlreferer
    ,查看是否是
    A页面,然后执行逻辑

感谢您的建议,但我试图避免使用会话。URLreferer不是我想要的。我试图在标题中传递一个唯一的变量,在这种情况下,它是一个特定操作页面的url。干杯。因此,您正在从页面a重定向到页面B,并且希望将值
/public/IPOs.aspx
传递到页面B?是的,这是esSentily want我正在尝试使用标头。我不能使用会话或查询字符串。为什么不设置cookie?这只不过是使用
set cookie
HTTP标头,您只需要检查它是否存在于页面B中。如果不使用会话、cookie或查询字符串,我就无法获得其他选项。我希望.NET允许我这样做修改响应重定向操作的标题。我已经指出了会话、查询字符串和cookie等替代方法。感谢您的回复。