在我目前正在开发的 Web 应用程序(C#、ASP.NET)中,Request.Headers["Referer"] 中的值可以确定自定义样式等内容。我创建了一个带有下拉菜单的自定义页面来测试此功能。 So when the selected index changes, the value selected should be set in the Request.Headers["Referer"] then will be redirected (Response.Redirect), the receiving page will then pick up the value in Request.Headers["Referer"] 并相应地调整样式。但是我无法为 Request.Headers["Referer"] 设置值。有可能吗?
Website 1 sets the value in Request.Headers["Referer"], e.g. www.xyz.com and before doing Response.Redirect to www.website2.com
Website 2 picks up value in Request.Headers["Referer"], in this case www.xyz.com and do what it needs to do, i.e. styling etc.
最佳答案
试试这个代码
在网站 1 中,将这段代码放在 Button Click 中
HttpRequest equest = this.Request;
NameValueCollection headers = Request.Headers;
//get a type
Type t = headers.GetType();
t.InvokeMember("MakeReadWrite", BindingFlags.InvokeMethod |
BindingFlags.NonPublic | BindingFlags.Instance, null, headers, null);
t.InvokeMember("InvalidateCachedArrays", BindingFlags.InvokeMethod |
BindingFlags.NonPublic | BindingFlags.Instance, null, headers, null);
System.Collections.ArrayList item = new System.Collections.ArrayList();
item.Add("YOUR_STYLE_NAME");
t.InvokeMember("BaseAdd", BindingFlags.InvokeMethod | BindingFlags.NonPublic |
BindingFlags.Instance, null, headers, new object[] { "CUSTOM_STYLE", item });
t.InvokeMember("MakeReadOnly", BindingFlags.InvokeMethod |
BindingFlags.NonPublic | BindingFlags.Instance, null, headers, null);
Server.Transfer("Default.aspx");
并在网站 2 中将此代码放入阅读样式
var bnymuser = Request.Headers["CUSTOM_STYLE"];
关于c# - 执行Response.Redirect时如何修改Request.Headers ["Referer"]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3455863/