我在IIS6中设置了自定义404错误页面。在代码隐藏中,我想从错误的URL获取参数,我该怎么做?
答案 0 :(得分:1)
我想你可以使用
Request.ServerVariables("HTTP_REFERER");
在您的自定义错误页面中,以获取重定向的位置。如果你得到了页面,那么你也可以获得查询字符串参数。
希望这会有所帮助
答案 1 :(得分:0)
您可能需要考虑“接受”所有问题的正确答案(请参阅有关此网站如何管理自己的常见问题解答。)希望我的回答是其中之一:
您可以在Application_OnError处理程序中的Global.asax中获取该值:
void Application_Error(object sender, EventArgs e)
{
string s = System.Web.HttpContext.Current.Request.QueryString.ToString();
}
或者通过QueryString.Keys []等单独处理每个QueryString值。
答案 2 :(得分:0)
在自定义404页面中,检查Request.Url.Query。 查询字符串应采用以下格式: 404;旧请求网址到此处。
删除404;部分,并使用此数据创建一个新的Uri对象..恭喜 - 您可以访问旧的URL,并可以轻松获取查询字符串参数:)
例如:
var url = new Uri(HttpUtility.UrlDecode(Request.Url.Query));
if (url.Query.Length > 0)
{
var parameters = url.Query.TrimStart('?').Split('&');
foreach(var p in parameters)
{
var parts = p.Split(new[]{'='}, 2).Dump();
var name = parts[0];
var value = parts[1];
}
}