В настоящее время у меня возникают проблемы с выяснением того, как обрабатывать путь к файлу (динамически), передаваемый в свойство NavigateUrl
элемента управления HyperLink
.
Допустим, я пытаюсь сослаться на файл с именем jäynä.txt
в корне C:
.
Передача "file:///C:/jäynä.txt"
результата в ссылку на file:///C:/jäynä.txt
, как и HttpUtility.UrlPathEncode("file:///C:/jäynä.txt")
.
Замена ä
** s на **%E4
, которая дает строку "file:///C:/j%E4yn%E4.txt"
, дает рабочую ссылку на file:///C:/jäynä.txt
, но я не смог найти способ сделать замену, не определяя это непосредственно. С Replace("ä", "%E4")
, например.
Есть ли способ автоматически обрабатывать строку пути к файлу, чтобы HyperLink
отображал ее правильно, без указания вручную, какие символы заменить в строке?
Дополнительное примечание:
Может быть способ обойти эту проблему, уточнив кодировку символов, в которой отображается страница, поскольку отладка показывает, что HyperLink
по крайней мере сохраняет строку "file:///C:/jäynä.txt"
без изменений, но каким-то образом искажает ее во время рендеринга.
Однако, похоже, это имеет место только при рендеринге NavigateUrl
, потому что другие компоненты, а также Text
-войство HyperLink
все вполне способны сделать символ ä
неизменным.