Читая здесь и вокруг сети, я близок к предположению, что ответ "нет", но ...
Допустим, у меня есть страница ASP.Net, которая иногда имеет параметр строки запроса. Если на странице есть параметр строки запроса, я хочу удалить его до, во время или после обратной передачи. На странице уже много клиентских скриптов (чистый JavaScript и jQuery).
В качестве примера, скажем, я загружаю:
http://myPage.aspx?QS=ABC
Параметр QS необходим для управления тем, что появляется на странице при первой загрузке, и задается страницей, которая его «вызывает». myPage.aspx
имеет элементы формы, которые необходимо заполнить, и кнопку отправки, которая выполняет обратную передачу. Когда страница завершает обратную передачу, мне нужно вернуть URL-адрес:
http://myPage.aspx
во избежание кода на стороне клиента, который вызывается при наличии строки запроса. Другими словами, после отправки я не хочу запускать действия на стороне клиента, связанные с параметром строки запроса. Я знаю, что могу добавить содержимое формы к URL-адресу как параметры строки запроса и просто перенаправить на новый URL-адрес и избежать отправки / обратной передачи, но для этого потребуется гораздо больше проверок типов в коде, чтобы избежать неверных данных и случайного подмены. Я предположил, что мог бы также установить скрытое поле в коде и посмотреть на него вместе со строкой запроса, чтобы отменить поведение на стороне клиента, если я возвращаюсь с обратной передачи, но это по-прежнему оставляет строку запроса без изменений в основном навсегда, и я хочу избавиться от него после начальной загрузки страницы.
Какие-нибудь идеи или лучшие практики?
PS. Могу ли я что-нибудь сделать со свойством Form.Action, которое не нарушит поведение обратной передачи?