奇怪的是这个......我正在寻找与实际解决方案一样多的地方,但这就是问题所在: 在我的asp.net webform页面中,我正在测试一个查询字符串然后应用一些逻辑,但是,查询字符串似乎从Url中被剥离。 如果我通过这个
..blah.aspx?blah=123
然后我可以看到Request.RawUrl中的查询字符串没问题,但是当我传递正确的查询字符串时
..blah.aspx?Id=123
查询字符串为空。 IIS在站点或应用程序级别上没有请求过滤。还有哪些可能会被剥夺?两个小时的头部刮伤和计数......
更新
没有重定向,逻辑在blah.aspx Pre Init事件中:
protected override void OnPreInit(EventArgs e)
{
if (!string.IsNullOrEmpty(RequestLEID) || !string.IsNullOrEmpty(RequestLEExternalReference))
DisableNavigationContextCheck = true;
base.OnPreInit(e);
}
打破这个事件,我正在测试立即窗口中的Request.RawUrl属性
答案 0 :(得分:0)
如果您在解决方案中使用sharepoint(例如,共享点控制),则ID是保留关键字。
答案 1 :(得分:0)
讨厌。在我们的代码中,我们有一个导航模块。这已经更新为使用RedirectPermanent,在具有重复查询字符串模式的url的情况下(注意,而不是参数本身)不会发送带有Request对象的查询字符串。
RedirectPermanent是asp.net 4.0中的一个新方法,当然不是我们应该在这里使用的东西。