読者です 読者をやめる 読者になる 読者になる

プログラマーな日々

プログラマーをやっています。好きなツール:WorkFlowy、好きな言語:C#、好きなサービス:Backlog、好きなAWS:AWS Lambda。

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

ASP.NET

どういうこと?

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

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

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

どうすれば?

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