リダイレクトなしではサーバー上の QueryString を変更できないと思いました。
しかし、このコードは機能します*:
私はとても驚いています。
したがって、これに関する私の質問は次のとおりです。
- Request.QueryString が読み取り専用なのはなぜですか?
- このコード/ハックが機能するのはなぜですか*?
- 悪いエラーや予期しない動作に関して、またコードの維持と理解に関して、編集が終了したらすぐに読み取り専用に変更した場合、どれくらい安全ですか?
- PageLoad と OnPageRender のみを使用している場合、イベント サイクルのどこでこのクレイジーな編集を行うのが最も理にかなっているでしょうか?
*詳細:
タブにグループ化されたアイテムを含むページがあります。各タブは asp:LinkButton です
特定のタブに直接リンクできるようにしたい。私は QueryString パラメータ 'tab=tabName' でそれを行います。できます。しかし、新しいタブをクリックすると、クエリ文字列はまだ URL にあるため、クリックしたタブではなく、クエリ文字列で指定されたタブがアクティブになります。
Request.QueryString editを使用すると、これは発生しません。次に、私のソリューションは「機能します」。
前もって感謝します。