косая черта (/) против косой черты (~ /) в пути к таблице стилей в asp.net - PullRequest
44 голосов
/ 21 июня 2011

Как эти 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» - это папка под корнем веб-сайта (с именем testsite.demo) в IIS

физический путь = D:\Physicalpath\WarpFirstSite\testsite.demo общая папка - D:\Physicalpath\WarpFirstSite\testsite.demo\common

Ответы [ 3 ]

80 голосов
/ 21 июня 2011
  • / - Корень сайта
  • ~/ - корневой каталог приложения

Разница в том, что если ваш сайт:

http://example.com

А у вас есть приложение myapp на:

http://example.com/mydir/myapp

/ вернет корень сайта (http://example.com),

~/ вернет рут приложения (http://example.com/mydir/).

9 голосов
/ 21 июня 2011

Второй не будет работать, потому что это не распознанный путь ничем, кроме кода asp.net на стороне сервера.А поскольку ваш тег ссылки является обычным html, а не серверным элементом управления, он никогда не обрабатывается.

6 голосов
/ 21 июня 2011

Если вы добавите runat="server" в тег ссылки, это будет отлично работать ....

вот так ....

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

(это тоже работает)

...