Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
qwiz
4 / 4 / 0
Регистрация: 29.10.2013
Сообщений: 155
1

Загружать данные без перегрузки страницы и изменять URL-адрес

18.03.2018, 20:13. Просмотров 301. Ответов 5

Доброго времени суток. Итак, у меня есть приложение ASP.NET MVC. У меня есть представление Layout и Index в качестве главной страницы, использующей страницу макета. Когда я нажимаю на какой-то div, я отправляю запрос ajax, типа: «/Controller/Action/id», ActionResult возвращает мне частичное представление, и я назначаю его в div внутри моей страницы Index, а не _Layout. Но мой url в браузере все тот же. Вот мои проблемы:
  1. Я не знаю, как изменить URL-адрес в браузере, когда я отправляю запрос.
  2. Если пользователь скопирует url как «mysite.com/Controller/Action/id» и вставляет его на другую вкладку или что-то вроде этого, он должен будет отображать полную страницу, а не только частичное представление.

Вариант с window.history.pushState, конечно работает. Но если перейти по ссылке напрямую(скопировать её с адресной строки и вставить в другой вкладке), он вернет частичное представление и все. Будет просто белая разметка с черными буквами.

Скажите, пожалуйста, как с этим бороться?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2018, 20:13
Ответы с готовыми решениями:

Изменять адрес страницы без ее перезагрузки
как реализовать такое, создать страницу в которой будет меняться только часть страницы без...

ListView изменять данные без перезагрузки страницы
Здравствуйте! Очередной вопрос появился - можно как то выбирать данные из БД и обновлять их в...

Как с библиотекой xNet или без нее получить URL адрес страницы?
Сделал авторизацию вконтакте, хочу искусственно получить токен через приложение, суть в том, что...

Не корректный URL адрес ASP.NET страницы
Здравствуйте! Вот создал свой первый сайт в ASP.NET Все вроде ничего, но есть такая проблема......

Есть скролл с продуктами. Нужно добавить продукт без перегрузки всей страницы
Всем привет! разбираюсь с ajax-передачей данных. приложение mvc 2 (без Razor!) есть скролл с...

5
csproj
7 / 7 / 1
Регистрация: 18.03.2018
Сообщений: 26
18.03.2018, 23:28 2
Цитата Сообщение от qwiz Посмотреть сообщение
Скажите, пожалуйста, как с этим бороться?
С этим не надо бороться. Если у вас частичное представление является страницей, тогда делайте ещё один лейаут внутри главного лейута, и загружайте страницу, у вас будет всё честно, URL является страницей с определённым контентом (ваше частичное представление должно быть View, а не PartialView).

Не боритесь с проблемоей, которую сами себе создаёте. В концепции веб, URL это ссылка на ресурс, то есть на всю страницу, что видит пользователь. В концепции ASP.NET MVC это View (может быть внутри одной или нескольких Layout).

Частичное представление, загружаемое внутрь дива не является URL, так как страница не меняется. Можно конечно использовать hashbang, и подставлять URL для частичного представления в часть после решётки #/Controller/PartialAction, и при загрузке страницы скрипт смотрит, нет ли там что-то после # в URL и дозагружает контент.

Но это подход уже больше относится к SPA и вам надо смотреть тогда в сторону ангуляр/реакт.
0
qwiz
4 / 4 / 0
Регистрация: 29.10.2013
Сообщений: 155
19.03.2018, 00:05  [ТС] 3
csproj, но ведь страница будет заново грузиться. Есть ли смысл тогда использовать ajax?
0
sau
2087 / 1667 / 285
Регистрация: 22.07.2011
Сообщений: 6,386
Завершенные тесты: 1
19.03.2018, 00:32 4
А Вы зачем его используете , просто услышали модное слово ? - смысл есть , но там где в этом есть необходимость.
0
qwiz
4 / 4 / 0
Регистрация: 29.10.2013
Сообщений: 155
19.03.2018, 00:49  [ТС] 5
sau, да я вообще , все, что вижу пытаюсь впихнуть. Любую технологию. Что ещё посоветуете?
Если серьёзно, то для того, чтобы не обновлялась страница. Поправьте, если я не прав. А лучше всего дать ответ, на мой вопрос. Вы конечно можете отвечать где угодно и как угодно. Но я же не грубил, к чему этот сарказм?
0
sau
2087 / 1667 / 285
Регистрация: 22.07.2011
Сообщений: 6,386
Завершенные тесты: 1
19.03.2018, 01:24 6
Нет ничего плохого в том , что страница обновляется - так работает 90% сайтов.
Тем более , вам не нужен ajax если он не решает , а только создает вам проблемы.
Вы задали вопрос - какой смысл использовать ajax , - в вашем случае , вероятно , никакого , если нет иных причин.
1
19.03.2018, 01:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2018, 01:24

Динамически изменять CSS и отобразить измененный контент без перезагрузки страницы
Всем привет! Жду помощи! Есть допустим div: <div style="width:100px;"> </div>Как изменить widht...

Создание списка без перегрузки страницы
Всем привет!:) Есть задачка, нужно из одного списка на страничке выбрать элементы, и отобразить...

ASP.net core обновить значение на странице без перегрузки страницы
Каким образом можно реализовать механизм когда на сервере срабатывает событие и результат этого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru