2012-08-17 79 views
1

設置在請求查詢字符串PARAMS我做這樣的頁面加載方法Asp.net:在頁面加載

Request.QueryString.Add("Filter_DateRange", "yesterday"); 
Request.QueryString.Add("Filter_FormType", "10-K"); 

,但它給一個異常

"Collection is readonly"

任何方式來做到這一點?

+0

你爲什麼要這樣做?順便說一句,不要用asp-classic標籤標記asp.net問題,這是完全不同的事情。 – walther 2012-08-17 06:57:12

+0

那不是答案。 – Elvin 2012-08-17 07:02:12

+1

閱讀此問題 - http://stackoverflow.com/questions/4968731/why-is-request-querystring-readonly – Buzz 2012-08-17 07:05:08

回答

0

如果你想模擬自動測試的請求對象,我建議你看看Moles。

如果你只是想手動測試,爲什麼不直接用你需要的查詢字符串參數創建一個鏈接呢?

1

基礎上的評論,也有一些選項可供選擇,以滿足您的需求...

舉例來說,你可以抽象(並明確應該)直接從檢索查詢字符串的值和實施的過程某種類型的圖層,它可以幫你實現。然後,您可以自由交換此圖層,而無需擔心會中斷您的應用。這樣做的最基本的方法是實現頁面屬性。在你的代碼中,你不會直接調用Request.QueryString ...,而是你將使用這些屬性。當您想要更改值的來源時,只需相應地更改屬性即可。

另一種方法可能是創建想要測試的鏈接,甚至可以將這些鏈接放在單獨的頁面上,例如testlinks.aspx。這樣你就可以將事情組織得很好,以便進行測試。

依此類推。