Asp.net:在页面加载

问题描述:

设置在请求查询字符串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://*.com/questions/4968731/why-is-request-querystring-readonly – Buzz 2012-08-17 07:05:08

如果你想模拟自动测试的请求对象,我建议你看看Moles。

如果你只是想手动测试,为什么不直接用你需要的查询字符串参数创建一个链接呢?

基础上的评论,也有一些选项可供选择,以满足您的需求...

举例来说,你可以抽象(并明确应该)直接从检索查询字符串的值和实施的过程某种类型的图层,它可以帮你实现。然后,您可以*交换此图层,而无需担心会中断您的应用。这样做的最基本的方法是实现页面属性。在你的代码中,你不会直接调用Request.QueryString ...,而是你将使用这些属性。当您想要更改值的来源时,只需相应地更改属性即可。

另一种方法可能是创建想要测试的链接,甚至可以将这些链接放在单独的页面上,例如testlinks.aspx。这样你就可以将事情组织得很好,以便进行测试。

依此类推。