2011-12-12 35 views
2

怪事一this..I'm寻找的研究领域不亚于实际的解决方案,但是这是问题: 在我的asp.net Web窗体页,我的查询字符串测试,然后应用一些逻辑,但是,查询字符串似乎从Url上被剥离。 如果我通过这个的Request.QueryString是空

..blah.aspx?blah=123 

话,我可以看到在Request.RawUrl查询字符串没有问题,但是当我把我的正确查询字符串

..blah.aspx?Id=123 

查询字符串是空的。在站点或应用程序级别上,IIS上没有请求筛选。在哪里可以剥离?两个小时挠头和计数....

更新:

没有重定向,逻辑是在blah.aspx前Init事件:

protected override void OnPreInit(EventArgs e) 
{ 
    if (!string.IsNullOrEmpty(RequestLEID) || !string.IsNullOrEmpty(RequestLEExternalReference)) 
     DisableNavigationContextCheck = true; 

    base.OnPreInit(e); 
} 

打破在这种情况下,我在即时窗口

+0

你能请张贴代码块中要传递和重定向到该网址,感谢您的时间 –

回答

0

如果您正在使用SharePoint测试Request.RawUrl属性(例如一个SharePoint控制)与您的解决方案,那么ID是一个保留关键字。

+0

我不使用SharePoint控制和查询字符串是不实际的ID(这只是一个如实际查询字符串是“LEExternalReference” – OldBoy

0

令人讨厌。在我们的代码的其他地方,我们有一个导航模块。这已更新为使用RedirectPermanent,对于具有重复查询字符串模式(请注意,不是参数本身)的url,它不会将查询字符串与Request对象一起发送。

永久重定向是在asp.net 4.0中的新方法,当然不是,我们应该在这里使用。

0

你拉的值(一个或多个)从请求?

var RequestLEExternalReference = Request.QueryString["LEExternalReference"];