web-dev-qa-db-ja.com

asp.netのスタイルシートパスのスラッシュ(/)とチルダスラッシュ(〜/)

これら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

44
Kyasa Madhavi
  • /-サイトルート
  • ~/-アプリケーションのルートディレクトリ

違いは、サイトが以下の場合です:

http://example.com

そして、あなたはアプリケーションmyappを持っています:

http://example.com/mydir/myapp

/は、サイトのルートを返します(http://example.com)、

~/はアプリケーションのルートを返します(http://example.com/mydir/)。

80
Oded

2番目は、サーバー側のasp.netコード以外では認識されないため、機能しません。また、リンクタグは通常のhtmlであり、サーバーコントロールではないため、処理されません。

9
CRice

リンクタグにrunat="server"を追加すると、完全に機能します。..

このような....

<link href="~/common/black_theme/css/style.css" rel="stylesheet" runat="server"> 

(これも機能しています)

6
Gaurav Agrawal