これら2つのパスがasp.netでどのように解決されるか。これら2つが異なるパスを提供する理由。いつ、これらのために行く必要があります。
<link href="/common/black_theme/css/style.css" rel="stylesheet"> (this is working)
<link href="~/common/black_theme/css/style.css" rel="stylesheet"> (this is not working)
私の知識によると〜は、アプリケーションのルートディレクトリを表します。 "Common"は、IISのWebサイト(testsite.demoという名前)のルートの下にあるフォルダーです。
物理パス= D:\Physicalpath\WarpFirstSite\testsite.demo
共通フォルダーの場所-D:\Physicalpath\WarpFirstSite\testsite.demo\common
/
-サイトルート~/
-アプリケーションのルートディレクトリ違いは、サイトが以下の場合です:
http://example.com
そして、あなたはアプリケーションmyapp
を持っています:
http://example.com/mydir/myapp
/
は、サイトのルートを返します(http://example.com
)、
~/
はアプリケーションのルートを返します(http://example.com/mydir/
)。
2番目は、サーバー側のasp.netコード以外では認識されないため、機能しません。また、リンクタグは通常のhtmlであり、サーバーコントロールではないため、処理されません。
リンクタグにrunat="server"
を追加すると、完全に機能します。..
このような....
<link href="~/common/black_theme/css/style.css" rel="stylesheet" runat="server">
(これも機能しています)