Усечение Query String & Returning Clean URL C# ASP.net

Если вам больше не нужен этот файл, вы можете сделать

git rm file
git commit --amend
git push origin branch
52
задан Chris 27 July 2009 в 02:12
поделиться

4 ответа

System.Uri - ваш друг. Здесь есть много полезных утилит, но вам нужна GetLeftPart:

 string url = "http://www.website.com/default.aspx?utm_source=twitter&utm_medium=social-media";
 Uri uri = new Uri(url);
 Console.WriteLine(uri.GetLeftPart(UriPartial.Path));

Это дает результат: http://www.website.com/default.aspx

[Класс Uri требует указания протокола http: //]

GetLeftPart в основном говорит: «получить левую часть uri до той части, которую я укажу». Это может быть Scheme (только бит http: //), Authority (часть www.website.com), Path (/default.aspx) или Query (строка запроса).

Предполагая, что вы находитесь в сети aspx страницу, вы можете затем использовать Response.Redirect (newUrl) для перенаправления вызывающего.

Надеюсь, что это поможет

111
ответ дан 7 November 2019 в 09:14
поделиться

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

Будут ли параметры строки запроса влиять на вывод вашей страницы? Если это так, вам нужно будет посмотреть, как поддерживать состояние между запросами (переменные сеанса, файлы cookie и т. Д.), Потому что параметры строки запроса будут потеряны, как только вы перенаправите на страницу без них.

несколько способов сделать это глобально (в порядке предпочтения):

  • Если у вас есть прямой контроль над серверной средой, вам подойдет настраиваемый серверный модуль, например ISAPI_ReWrite или Модуль перезаписи URL-адресов IIS 7.0 .
  • Пользовательский IHttpModule - хороший подход с возможностью повторного использования.
  • Вы также можете сделать это в global.asax , как вы предлагаете

Вам следует использовать только 301 код ответа, если ресурс действительно перемещен навсегда. Опять же, это зависит от того, нужно ли вашему приложению использовать параметры строки запроса. Если вы используете постоянное перенаправление, браузер (который учитывает код ответа 301 ) пропустит загрузку URL-адреса вида ... / default.aspx? Utm_source = twitter & utm_medium = social-media и load ... / default.aspx - вы ' Я никогда даже не узнаю о параметрах строки запроса.

Наконец, вы можете использовать POST запросы метода. Это дает вам чистые URL-адреса и позволяет передавать параметры, но будет работать только с

элементами или запросами, которые вы создаете с помощью JavaScript.

0
ответ дан 7 November 2019 в 09:14
поделиться

Я создавал среду для в прошлом году или около того, основная цель которого - красивая визуальная интеграция с окнами (отсюда вы видите ссылки на панели управления в стиле Windows). Практически все выглядит очень красиво во всем приложении.

Я должен сказать, что лично я не думаю, что технология как таковая имеет такое значение, как то, сколько времени вы тратите на дизайн и качество , а также не торопясь. Я не верю в красивую графику или невероятно красочные приложения, необходимые для создания хорошей программы. Хотя опубликованные изображения могут противоречить тому, что я только что сказал, большинство других моих программ не содержат так много изображений.

1
ответ дан 7 November 2019 в 09:14
поделиться

Взгляните на класс UriBuilder. Вы можете создать его со строкой URL-адреса, и затем объект проанализирует этот URL-адрес и предоставит вам доступ только к нужным элементам.

0
ответ дан 7 November 2019 в 09:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: