私は現在、HyperLink
コントロールのNavigateUrl
プロパティに(動的に)渡されるファイルパスを処理する方法を理解するのに苦労しています。
jäynä.txt
のルートにあるという名前のファイルを参照しようとしているとしましょうC:
。と同様に、結果を へのリンクに
渡します。"file:///C:/jäynä.txt"
file:///C:/jäynä.txt
HttpUtility.UrlPathEncode("file:///C:/jäynä.txt")
ä
** を **%E4
に置き換えると、文字列"file:///C:/j%E4yn%E4.txt"
が得られ、 への有効なリンクが得file:///C:/jäynä.txt
られますが、自分で定義せずに置換を行う方法を見つけることができませんでした。Replace("ä", "%E4")
たとえば、
ファイルパス文字列を自動的に処理してHyperLink
、文字列で置き換える文字を手動でリストせずに正しく表示する方法はありますか?
追加の注意:
ページがレンダリングされる文字エンコーディングを指定することで、これを回避する方法があるかもしれません。これは、デバッグにより、HyperLink
少なくとも文字列"file:///C:/jäynä.txt"
が変更されずに保存されていることが示されるためですが、レンダリング時に何らかの形で文字列が壊れてしまうためです。
ただし、これは のレンダリングの場合にのみ当てはまります。NavigateUrl
他のコンポーネントとHyperLink
のText
プロパティはすべて、キャラクタをä
変更せずにレンダリングできるからです。