Я думал, что нельзя изменить QueryString на сервере без перенаправления.
Но этот код работает * у меня:
Request.QueryString редактировать
Я так поражен.
Вот мои вопросы по этому поводу:
- Почему Request.QueryString доступен только для чтения?
- Почему этот код / хак работает *?
- Насколько безопасно, если вы перейдете в режим только для чтения, как только закончите редактирование, как в отношении плохих ошибок или неожиданного поведения, так и в отношении поддержки и понимания кода?
- Где в цикле событий было бы лучше всего делать это сумасшедшее редактирование, если вы используете только PageLoad и OnPageRender?
* Подробнее:
У меня есть страница с элементами, сгруппированными по вкладкам. Каждая вкладка представляет собой asp: LinkButton
Я хочу иметь возможность напрямую ссылаться на определенную вкладку. Я делаю это с помощью параметра QueryString tab = tabName. Оно работает. Но когда я затем нажимаю новую вкладку, строка запроса все еще находится в URL-адресе, и поэтому активируется вкладка, указанная в строке запроса, а не та, которую я щелкнул.
Используя Request. QueryString edit этого не происходит. Тогда мое решение «работает».
Заранее спасибо.