0

単純なものを見ていると思いますが、「GET」変数の値を変更する方法を思い出せません。

たとえば、私がWebアドレスを持っているとしましょうwww.food.com/food.aspx?foodType=Healthy

値を取得するために使用できることはわかっRequest.QueryString["foodType"]ていますが、言いたい場合は、「Healthy」を「Unhealthy」に変更します。ポストバックで値を変更するにはどうすればよいですか。

現在、ボタンにon-clickイベントを使用していますが、「foodType。」の値を変更することに固執しています。使ってみRequest.QueryString.Add("foodType", "UnHealthy");ましたがうまくいきませんでした。

何か案は?

4

2 に答える 2

1

ユースケースが何であるかはわかりませんが、コレクションを変更することはできません。@Grantがすでに述べたように、コレクションは読み取り専用です。

ソースを見ると、次のようなコレクションがHttpRequest作成されます。QueryString

new HttpValueCollection(_queryStringText, true, true, Encoding.Default); 

その2番目のパラメーターは、コレクションを読み取り専用として設定します。

于 2013-01-25T14:26:02.577 に答える
0

私の知る限り、あなたはできません。コレクションは読み取り専用であり、元の要求の副産物として応答を返す場合にのみ存在します。を使用できますResponse.Redirect(url)。ここで、urlは値が変更された元のURLです。これによりリクエストが再発行され、サーバーは新しい変数を「使用」してユーザーに結果を提供する機会を取得します(新しいURLに転送されます。ページが同じであっても)。

于 2013-01-25T14:19:30.783 に答える