Универсальные URL для набора внутренних страниц asp.net - PullRequest
0 голосов
/ 20 сентября 2011

Я ищу решение, которое позволило бы мне распечатать общий URL для набора страниц.Пример: Для страниц - site.com/About/Contact.aspx, site.com/About/WhoWeAre.aspx, site.com/About/Members.aspx и т. Д., Пользователь должен видеть только site.com/About/ в адресебар.Это что-то достижимое?Этот сайт не оптимизирован для SEO и требует, чтобы пользователи входили в систему перед доступом к контенту, также я не ожидаю, что site.com/About/ или какие-либо внутренние страницы разрешат любую страницу при вводе непосредственно в браузере.Мне также хорошо, если в строке состояния отображается реальный URL, если пользователь наводит курсор на внутренние ссылки.Я не думаю, что URL Rewrite или URL Routing работает здесь.Или, может быть, я что-то упустил.Использование .NET 3.5 и C #.Я помечаю sitecore, потому что меня больше интересует решение на основе sitecore, где у меня есть разные узлы в разделе About tree, и я хочу, чтобы пользователи видели только upto / About в адресной строке, но я думаю, что если это можно сделать в asp.net, яможно выяснить часть сайта.

Ответы [ 5 ]

0 голосов
/ 06 октября 2011

Поскольку вас интересует sitecore, я могу рассказать вам, как мы создали настраиваемый URL-адрес в недавней сборке sitecore.

Вам необходимо иметь собственный менеджер ссылок, расширяющий текущий класс sitecore LinkProvider.LinkBuilder.Затем вам нужно добавить свою пользовательскую логику того, как вы хотите, чтобы URL-адрес переопределял GetItemUrl и BuidlItemUrl для отображения URL-адреса, и, наконец, в web.config для sitecore использовать ваш менеджер пользовательских ссылок.

0 голосов
/ 22 сентября 2011

Вы также можете разместить iframe на странице / About и сделать так, чтобы навигационные ссылки указывали iframe на другие страницы.

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

0 голосов
/ 21 сентября 2011

Единственный способ решить эту проблему, оставив / О в адресной строке, - создать код на стороне клиента, который переключает содержимое на основе выбора пользователя.

0 голосов
/ 21 сентября 2011

Это можно сделать, загрузив страницу «О программе», а затем загрузив контент для любых дочерних страниц, используя обратную передачу или вызовы ajax.

0 голосов
/ 20 сентября 2011

Абсолютно, используйте механизм маршрутизации asp.net 4.

Это даст вам именно то, что вы хотите: http://weblogs.asp.net/dotnetstories/archive/2011/01/03/routing-in-asp-net-4-0-web-forms.aspx

РЕДАКТИРОВАТЬ: для 3.5 проверить: Дружественные URL-адресадля ASP.NET

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...