クエリ文字列を更新した後、ボタンクリックでページを再投稿する必要があります。button_clickイベントで、クエリ文字列に特定のパラメータがあるかどうかを確認し、存在しない場合は、そのパラメータをクエリ文字列に追加して、ボタンクリックイベントに戻るようにポストバックを実行します。出来ますか?
ありがとう。
クエリ文字列パラメータを追加するためだけにクライアントを更新させることは、非常にコストのかかる(時間のかかる)操作です。それをしないでください。
クエリ文字列パラメータが必要なロジックは、ページで設定した変数に基づいてリファクタリングできます。
あなたの質問に答えるために; はい、可能ですが、実行しないでください。
if (String.IsNullOrEmpty(Request.QueryString["myParam"]))
{
Response.Redirect(Request.ApplicationPath + "?myParam=" + myValue);
}
すべての入力ボタンを、メソッドとして GET を使用しているフォーム タグに配置できます。
このようにして、入力ボタンの 1 つをクリックして送信するたびに、クエリ文字列が更新されます。
例:
<form method="GET">
<input type="text" name="MyFirstInput" />
<input type="text" name="MySecondInput" />
<input type="submit" value="Submit" />
</form>
「MyFirstInput」に「abcdefg」と入力して送信ボタンを押すと、クエリ文字列が ...url...?MyFirstInput=abcdefg に更新されます。その後、戻って MyFirstInput と MySecondInput の両方を入力すると、クエリ文字列が両方で更新されます。
ただし、ユーザーが同じフィールドに何度も何度も入力したくない場合は、ポストバックの値を維持する必要があることに注意してください。