プログラマーな日々

I'm a Cloud Architect and Developer, and a trainee of the network engineer training course. I have certified by AWS and Cisco (SAA/SOA/DVA/CCNA). I especially have highly motivated to reduce toils.

~(チルダ)で始まるパスを絶対パスに変換する

どういうこと?

ASP.NETではチルダでアプリケーションルートを表すことができます。これはあくまでもASP.NETの仕様なので、

<img src="~Hoge/Fuga/image.jpg" />

こんな風に書いても画像を参照できません。

どうすれば?

System.Web.VirtualPathUtility.ToAbsolute メソッドで、チルダで始まる仮想パスを絶対パスに変換すればOKです。
VirtualPathUtility.ToAbsolute メソッド (String) (System.Web)
仮想パスをアプリケーション絶対パスに変換します。