Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Url->string->url


Автор: GavriKos 7.6.2009, 21:40
Ситуевина такая. На форме есть WebBrowser. Надо взять из него адрес, вставить в адрес одну строку, и потом перегнать обратно в Uri. Адрес то взять не проблемма, вставить тоже (метод Insert  у строки), а вот при обратной конвертации в uri возникают проблеммы следующего характера. Если в адресе присутствуют спецсимволы вида "%CF%E5%F2%FF", то при конвертации следующим методом:

Код

new Uri(url)


эти символы преобразуются вообще в другие. Есть еще конструктор с параметром чтоб не конвертировать ничего, но тогда вместо спецсимволов идут знаки вопроса. Проблемма в том, что эти спецсимовлы не являются аналогами русских букв (т.е. пробел тут это не %20). Есть у кого нибудь мысли как можно вставить в Uri строчку не поганя при этом спецсимволы? Есть мысль что проблемма может быть в кодировке...

Автор: diadiavova 7.6.2009, 22:28
System.Uri.EscapeUriString
System.Uri.UnescapeDataString

Автор: GavriKos 8.6.2009, 11:12
Спасибо, это оказалось немного не то. Но проблемма решена. Была она вот в этой строчке:

Код

url = form.webBrowser1.Url.ToString()


Уже на этом этапе спецсимволы получались преобразованными. Метод решения:

Код

url = form.webBrowser1.Url.OriginalString;



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)