Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
5 / 5 / 0
Регистрация: 29.10.2013
Сообщений: 155
1

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

18.03.2018, 20:13. Показов 1201. Ответов 5

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Итак, у меня есть приложение 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2018, 20:13
Ответы с готовыми решениями:

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

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

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

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

5
8 / 8 / 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
5 / 5 / 0
Регистрация: 29.10.2013
Сообщений: 155
19.03.2018, 00:05  [ТС] 3
csproj, но ведь страница будет заново грузиться. Есть ли смысл тогда использовать ajax?
0
2735 / 2041 / 380
Регистрация: 22.07.2011
Сообщений: 7,731
19.03.2018, 00:32 4
А Вы зачем его используете , просто услышали модное слово ? - смысл есть , но там где в этом есть необходимость.
0
5 / 5 / 0
Регистрация: 29.10.2013
Сообщений: 155
19.03.2018, 00:49  [ТС] 5
sau, да я вообще , все, что вижу пытаюсь впихнуть. Любую технологию. Что ещё посоветуете?
Если серьёзно, то для того, чтобы не обновлялась страница. Поправьте, если я не прав. А лучше всего дать ответ, на мой вопрос. Вы конечно можете отвечать где угодно и как угодно. Но я же не грубил, к чему этот сарказм?
0
2735 / 2041 / 380
Регистрация: 22.07.2011
Сообщений: 7,731
19.03.2018, 01:24 6
Нет ничего плохого в том , что страница обновляется - так работает 90% сайтов.
Тем более , вам не нужен ajax если он не решает , а только создает вам проблемы.
Вы задали вопрос - какой смысл использовать ajax , - в вашем случае , вероятно , никакого , если нет иных причин.
1
19.03.2018, 01:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2018, 01:24
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru