我目前在弄清楚如何处理要(动态)传递给HyperLink
控件NavigateUrl
属性的文件路径时遇到了麻烦。
假设我试图引用一个jäynä.txt
以C:
.
将结果传递"file:///C:/jäynä.txt"
给指向 的链接file:///C:/jäynä.txt
,就像HttpUtility.UrlPathEncode("file:///C:/jäynä.txt")
.
将 **s 替换为ä
**%E4
,它给出了 string "file:///C:/j%E4yn%E4.txt"
,确实提供了一个到 的工作链接file:///C:/jäynä.txt
,但我无法找到一种方法来进行替换而不自己定义它。以Replace("ä", "%E4")
为例。
有没有办法自动处理文件路径字符串,以便HyperLink
正确显示它,而无需手动列出要替换字符串中的哪些字符?
附加说明:
可能有一种方法可以通过指定呈现页面的字符编码来解决此问题,因为调试表明HyperLink
至少将字符串保存"file:///C:/jäynä.txt"
不变,但在呈现时会以某种方式破坏它。
然而,这似乎只在渲染 ' 时才会出现,NavigateUrl
因为其他组件以及HyperLink
's Text
-property 都完全能够以ä
不变的方式渲染字符。