1

私はpageloadメソッドでこのようにしています

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

しかし、それは例外を与えています

"Collection is readonly"

これを行う方法はありますか?

4

2 に答える 2

1

コメントに基づいて、ニーズに合わせて選択できるオプションがいくつかあります...

たとえば、クエリ文字列から直接値を取得するプロセスを抽象化して(そして明らかにすべきである)、それを実行するある種のレイヤーを実装することができます。その後、アプリを壊すことを心配せずに、このレイヤーを自由に交換できます。これを行うための最も基本的なアプローチは、ページのプロパティを実装することです。コードでは、Request.QueryString ...を直接呼び出すことはありませんが、代わりにこれらのプロパティを使用します。値のソースを変更したい場合は、それに応じてプロパティを変更するだけです。

別のアプローチは、テストしたいリンクを作成することであり、それらのリンクを別のページ、たとえばtestlinks.aspxに配置することもできます。そうすれば、テスト目的で物事をうまく整理することができます。

等々。

于 2012-08-17T08:10:59.673 に答える
0

自動テストのリクエストオブジェクトをシミュレートする場合は、Molesを調べることをお勧めします。

手動でテストしたいだけの場合は、必要なクエリ文字列paramsを使用してリンクを作成してみませんか?

于 2012-08-17T07:17:29.293 に答える