Можно ли одновременно обновлять часть страницы и изменять параметры строки запроса в asp.net?
Есть ли способ обновить только часть страницы и параметры строки запроса одновременно, не обновляя полностью всю страницу в ASP.NET?
Мне нужно только обновить "основной" раздел моей страницы, а не всю страницу. Я понимаю, что могу сделать частичный постбэк (или использовать asp ajax) для частичного обновления страницы, но как мне одновременно обновить параметры строки запроса в URL? Это вообще возможно?
Или это невозможно, и мне просто нужно сделать Response.Redirect
в коде частичного постбэка, перенаправляющего на ту же страницу с новыми параметрами запроса и просто позволяющего обновить всю страницу?
2 ответа
Используйте pushState.
Эта новая функция предлагает вам способ изменить URL-адрес, отображаемый в браузере * через JavaScript, без перезагрузки страницы. Это также создаст событие back-button, и у вас даже есть объект состояния, с которым вы можете взаимодействовать.
window.history.pushState(“object or string”, “Title”, “/new-url”);
Описано здесь
У вас абсолютно нулевой программный доступ к адресной строке. Единственный способ изменить это перенаправить.
Однако вы можете сделать это так, как это делают некоторые сайты, и предоставить "отправить ссылку на эту страницу своим друзьям". На ум приходит YouTube - посмотрите, как он предоставляет URL, включая параметры строки запроса, для копирования, если вы хотите отправить кому-то ссылку на видео, начиная с определенного момента.
Также проверьте удобную ссылку "Поделиться" прямо под вашим вопросом. Вы можете предоставить такую ссылку с целевым URL, так что для пользователя это всего лишь вопрос щелчка правой кнопкой мыши и копирования из контекстного меню. Ссылка, хорошо структурированная на ваш сайт, более удобна для пользователя, чем когда пользователь копирует ее прямо с панели или из текстового поля. Специально для мобильных браузеров, где последовательность обычно нажимают и удерживают, а затем копируют. Копирование из адресной строки, с другой стороны, может включать выбор текста в адресной строке, что в некоторых устройствах Android является проблемой в заднице.