Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

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

どういうこと?

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

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

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

どうすれば?

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