URL скрытия страницы на веб-сайте ASP.NET - PullRequest
3 голосов
/ 11 ноября 2010

Я создал простой веб-сайт ASP.NET, в котором есть меню со всеми URL-адресами страниц, связанными с каждым элементом меню. когда я нажимаю на элемент меню, URL-адрес страницы появляется в адресной строке, например "http://mywebsite/xyz/webform1.aspx".". Я хотел бы скрыть URL-адрес этой страницы и вместо этого показывать только URL-адрес веб-сайта, например "http://mywebsite"" для всех страниц. Пожалуйста, дайте мне знать, как этого можно достичь. заранее спасибо. если это слишком сложно для достижения, то возможно ли показывать поддельный URL вместо реального URL для каждой страницы? Я не хочу показывать реальное имя страницы в URL.

Ответы [ 7 ]

3 голосов
/ 11 ноября 2010

Единственный способ добиться этого - использовать так называемое «маскирование URL», используя для этого набор фреймов или iframe, чтобы обернуть ваши страницы так, чтобы все действия происходили внутри фрейма без изменения URL браузера.

Неоправданно для этого вам нужно написать собственный движок представления (я бы порекомендовал использовать MVC, если вы серьезно относитесь к этому), где вы используете постоянное хранилище, такое как сеанс, так как оно привязано к пользователю.сохранить «URL» страницы.В вашем механизме просмотра он должен будет объединить сеанс, чтобы определить местоположение, в котором находится пользователь, для какой физической страницы следует отображать.

После этого вам потребуется реализовать все свои собственные функции Redirect / RedirecToAction, посколькубольше не будет использовать истинные перенаправления, но будет иметь переменную типа RedirectLocation внутри сессии.

Для этого было бы довольно монументально большой задачей, и я бы рекомендовал не делать этого.Если вы абсолютно уверены, что вам нужен единственный URL, используйте подход маскировки.Или, как прокомментировал @Slaks, просто не делайте этого вообще.

2 голосов
/ 11 ноября 2010

Я нашел решение по этой ссылке, используя технику под названием «URL Routing», которая впервые появилась в ASP.NET 3.5 SP1. Я использую ASP.NET 3.5 и IIS6. моей главной целью было скрыть фактический URL-адрес страницы (я должен был это уточнить в своем вопросе), чего можно добиться, показывая дружественные URL-адреса с помощью этой техники. эта статья помогает. спасибо всем за оперативные ответы и предложения других способов достижения этой цели.

http://www.4guysfromrolla.com/articles/051309-1.aspx

1 голос
/ 11 ноября 2010

Не уверен, почему вы хотите это сделать ... но простой способ сделать это это

Создайте кнопку ссылки с событием OnclientClick, для которого установлена ​​функция Javascript:

    <asp:LinkButton ID="myButton" OnClientClick="go();" runat="server" Text ="Go somewhere"/>

Next add a javascript function to go where you want to redirect:

    <script type="text/javascript">
        function go() {
            window.location = "http://www.google.com/";
        }
    </script>

Он будет скрывать URL - вы просто увидите вызов javascript в браузере, и страница перейдет туда, куда вы хотите! Конечно это больше работы ... но это работает ...

1 голос
/ 11 ноября 2010

Поместите свой сайт в iframe, например, у вас есть index.html на www.mysite.com, в этом index.html у вас есть iframe, который содержит реальный сайт, таким образом, когда пользователи переходят по страницам на вашем сайтеони всегда будут видеть "www.mysite.com"

0 голосов
/ 23 мая 2013

вы можете использовать перезапись URL для сокрытия адреса в URL через web.config и файл Global.asmx в событии Application_BeginRequest и получить URL и переписать его с помощью Приложение HttpApplication = отправитель как HttpApplication

app.Context.RewritePath (Path, true);

0 голосов
/ 11 ноября 2010

Попробуйте использовать Server.Transfer, создайте одну страницу, которая действует как шлюз и передает URL-адрес. Это должно быть довольно легко реализовать.

0 голосов
/ 11 ноября 2010

То, что вы ищете, обычно называется « одностраничное веб-приложение » или «одностраничное веб-приложение» (или даже одностраничная модель интерфейса ). Это может быть достигнуто интенсивным использованием JavaScript: пользователь всегда остается на том же URI, и все обновления на странице являются частичными и извлекаются с XHR .

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