2011-12-12 36 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"];