ASP.NETのマスターページでは、チルダ(~)で自動的に相対パスを作ってくれる。 しかし、マスターページのコンテンツプレースホルダにチルダを使用すると無視されてしまう。 <asp:content contentplaceholderid="HeaderContents" id="Head" runat="server"> <link href="~/CSS/Common.css" rel="stylesheet" type="text/css"></link> </asp:content> 確かに自動的に相対パスを取得するのだから、各ページで設定というのはよくわからないはなしになってくる。チルダはマスターページのテンプレートに対しては有効である。 ただ、スクリプトファイルのリンクを張る場合に使用する「Control.ResolveClientUrl」メソッド。 これを使うとちゃんと取得してくれる。 <link href="<%= this.ResolveClientUrl("~/CSS/Common.css") %>" rel="stylesheet" type="text/css" /> なかなか奥深い。