URL разделяется в C#?

Intent intent = new Intent(Act4.this, Act1.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

Снимите флажок, прежде чем вернуться к предыдущему действию. Это может помочь вам.

8
задан jdphenix 20 March 2014 в 05:21
поделиться

9 ответов

Если вы создаете объект System.Uri из своей строки, он будет иметь несколько свойств для разных частей пути:

string path = "http://example.com/page?a=1&ret=/user/page2";
Uri uri = new Uri(path);
Console.WriteLine(uri.AbsolutePath); // Prints "/page"
25
ответ дан 5 December 2019 в 04:52
поделиться

Предполагая, что вы имеете в виду, что хотите получить бит "page2":

 var ub = new UriBuilder("example.com/page?a=1&ret=/user/page2");
 NameValueCollection nvc = HttpUtility.ParseQueryString(ub.Query);
 string page = nvc[nvc.Count - 1]; // gets "/user/page2"

Тогда вам придется использовать разделение для остальных.

Редактировать: Ну, вы мог бы использовать System.IO.Path.GetFileNameWithoutExtension (page) для возврата «page2», но я не уверен, что мне это кажется правильным.

System.IO.Path.GetFileNameWithoutExtension ("example.com/page?a=1&ret=/user/page2") также возвращает "page2".

5
ответ дан 5 December 2019 в 04:52
поделиться

Объект Request.Url (Uri) имеет множество полезных свойств, связанных с путем. Он может предоставить вам всю QueryString для удаления полного URL-адреса, если это то, что вам нужно?

Вы также можете выполнить Server.MapPath на самой странице, а затем использовать объект FileInfo для просмотра различных частей файла

4
ответ дан 5 December 2019 в 04:52
поделиться

Вы можете загрузить его в объект URI и получить свойство Uri.AbsolutePath .

3
ответ дан 5 December 2019 в 04:52
поделиться

Это проект ASP.NET? В HttpHandler / Page вы можете просто использовать объект Request:

string path = HttpContext.Request.Path;

Если у вас нет HttpContext, System.Uri даст вам нечто подобное:

string path = new Uri("example.com/page?a=1&ret=/user/page2").AbsolutePath;
2
ответ дан 5 December 2019 в 04:52
поделиться

Проверить систему .Uri класс. Он разберет ваш URL на фрагменты.

0
ответ дан 5 December 2019 в 04:52
поделиться

Рассматривали ли вы использование UriBuilder ... см. Стек поверх вопрос 479799

Сначала используйте это, а затем разделите свойство .Path

0
ответ дан 5 December 2019 в 04:52
поделиться

вы также можете рассмотреть возможность использования Routing API, встроенного в ASP.net 2.0, который даст вам точный контроль над вашими URL-маршрутами

0
ответ дан 5 December 2019 в 04:52
поделиться

Это кажется хорошим случаем для использования System.Uri :

Uri uri = new Uri("example.com/page?a=1&ret=/user/page2");
System.Windows.Forms.MessageBox.Show(
"Absolute URI: " + uri.AbsoluteUri + "\r\n" +
"Absolute Path: " + uri.AbsolutePath + "\r\n" +
"Local path: " + uri.LocalPath + "\r\n" +
"Host: " + uri.Host + "\r\n" +
"Port: " + uri.Port + "\r\n" +
"Query: " + uri.Query + "\r\n");
0
ответ дан 5 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

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