Asp.net:在页面加载
问题描述:
设置在请求查询字符串PARAMS我做这样的页面加载方法Asp.net:在页面加载
Request.QueryString.Add("Filter_DateRange", "yesterday");
Request.QueryString.Add("Filter_FormType", "10-K");
,但它给一个异常
"Collection is readonly"
。
任何方式来做到这一点?
答
如果你想模拟自动测试的请求对象,我建议你看看Moles。
如果你只是想手动测试,为什么不直接用你需要的查询字符串参数创建一个链接呢?
答
基础上的评论,也有一些选项可供选择,以满足您的需求...
举例来说,你可以抽象(并明确应该)直接从检索查询字符串的值和实施的过程某种类型的图层,它可以帮你实现。然后,您可以*交换此图层,而无需担心会中断您的应用。这样做的最基本的方法是实现页面属性。在你的代码中,你不会直接调用Request.QueryString ...,而是你将使用这些属性。当您想要更改值的来源时,只需相应地更改属性即可。
另一种方法可能是创建想要测试的链接,甚至可以将这些链接放在单独的页面上,例如testlinks.aspx。这样你就可以将事情组织得很好,以便进行测试。
依此类推。
你为什么要这样做?顺便说一句,不要用asp-classic标签标记asp.net问题,这是完全不同的事情。 – walther 2012-08-17 06:57:12
那不是答案。 – Elvin 2012-08-17 07:02:12
阅读此问题 - http://*.com/questions/4968731/why-is-request-querystring-readonly – Buzz 2012-08-17 07:05:08