How to deal with special characters in ASP.NET's HyperLink.NavigateUrl?
Posted
by DJ Pirtu
on Stack Overflow
See other posts from Stack Overflow
or by DJ Pirtu
Published on 2009-03-09T13:34:34Z
Indexed on
2010/05/23
11:50 UTC
Read the original article
Hit count: 581
I am currently having troubles figuring out how to handle a filepath to be (dynamicly) passed out to a HyperLink
control's NavigateUrl
property.
Let's say that I'm trying to refer to a file named jäynä.txt
at the root of C:
.
Passing "file:///C:/jäynä.txt"
result to a link to file:///C:/jäynä.txt
, as does HttpUtility.UrlPathEncode("file:///C:/jäynä.txt")
.
Replacing the ä
s with %E4
, which gives the string "file:///C:/j%E4yn%E4.txt"
, does give a working link to file:///C:/jäynä.txt
, but I have not been able to find a way to make the replacement without defining it myself. With Replace("ä", "%E4")
, for example.
Is there a way to automaticly handle the filepath string so that the HyperLink
would display it correctly, without manualy listing what characters to replace in the string?
Additional Note:
There may be a way to work around this by spesifying the character encoding in which the page is rendered, because debugging shows that the HyperLink
at least saves the string "file:///C:/jäynä.txt"
unchanged, but somehow mangles it around the time of rendering.
However, this seems only be the case in rendering of the NavigateUrl
because other components as well as HyperLink
's Text
-property are all quite capable of rendering the character ä
unchanged.
© Stack Overflow or respective owner