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

标签 asp.net

我想知道如何使用重定向发送自定义 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 , cookiesReferrer 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/

相关文章:

javascript - 为什么我无法使用 JSON 数据?

Javascript pageLoad 未在母版页中执行

c# - 设置仅在 WebAPI 中的每个请求的应用程序明智的变量

javascript - 通过ajax重定向到页面

asp.net - 使用 ASPNET_REGIIS 加密 Web 配置

c# - CodeDom 如何创建具有 void 返回类型的方法?

c# - 序列化 EF 实体;禁用代理创建和延迟加载?

asp.net - 将 packageReference 和 packages.config 混合在一个解决方案中?

asp.net - 如何切换脚本标签的可见性?

c# - 在 C# Web API Web 服务中使用 Process() 调用 GhostScript