You have to use relative paths all over your app:
~
won't work within static html code.
You can write
<img src="@Url.Content("~/images/logos/hdr.png")" />
or
<img src="../images/logos/hdr.png" />
The first approach is good for layout files where your relative path might be changing when you have different length routing urls.
EDIT
Regarding to your question about normal links:
When linking to another page in your app you don't specify the view file as the target but the action which renders a view as the result. For that you use the HtmlHelper ActionLink
:
@Html.ActionLink("Linktext", "YourController", "YourAction")
That generates the right url for you automatically:
<a href="YourController/YourAction">Linktext</a>
EDIT 2
Ok, no MVC - so you have to generate your links yourself.
You have to use relative paths, too. Don't start any link with the /
character!
<a href="linkOnSameLevel.cshtml">Link</a>
<a href="../linkOnParentLevel.cshtml">Link</a>
<a href="subFolder/linkOnOneLevelDown.cshtml">Link</a>
EDIT 3
When using Layout pages you can use the Href
extension method to generate a relative url:
<link href="@Href("~/style.css")" ...
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…