我有一个网站,可以很好地使用Razor(C#),当我使用本地测试(WebMatrix IIS)时,所有的编码都工作正常.

当我把它"在线"放在我的服务器上时,网站本身并不是网站的根

例如:

http://intranet.我的公司.通讯/通知

这基本上是我的文件夹 struct 的"根",所以我的所有文件夹都从那里开始(css文件default.cshtml…等等)

我的"_PageStart.cshtml"正确地看到了它,因为当我从链接http://intranet.mycompany.com/inform访问我的站点时,它给出了我在_PageStart.cshtml中配置的布局(并且它确实显示了布局+呈现的default.cshtml)

但除此之外,没有什么能找到正确的路径,例如:

<img src="~/images/logos/hdr.png" />

img支架在那里,我可以看到,但显示链接断了...当我右键单击img支架并执行属性以查看文件的位置时,它会显示:

http://intranet.我的公司.com/images/logos/hdr.巴布亚新几内亚

所以它是"完整"根而不是相对根...

我怎么才能把它修好呢?

推荐答案

您必须在您的应用程序中使用所有相对路径:

~在静态html代码中不起作用.

你可以写

<img src="@Url.Content("~/images/logos/hdr.png")" />

<img src="../images/logos/hdr.png" />

The first approach is good f或 layout files where your relative path might be changing when you have different length routing urls.

EDIT

Regarding to your question about n或mal 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. F或 that you use the HtmlHelper ActionLink:

@Html.ActionLink("Linktext", "YourController", "YourAction")

That generates the right url f或 you automatically:

<a href="YourController/YourAction">Linktext</a>

EDIT 2

好的,没有MVC-所以你必须自己生成链接.

您还必须使用相对路径.不要以/字符开始任何链接!

<a href="linkOnSameLevel.cshtml">Link</a>
<a href="../linkOnParentLevel.cshtml">Link</a>
<a href="subFolder/linkOnOneLevelDown.cshtml">Link</a>

EDIT 3

使用布局页面时,可以使用Hrefextension方法生成相对url:

<link href="@Href("~/style.css")" ...

Asp.net相关问答推荐

如何在 asp.net 服务器中使用字体

在这个 For 循环计数没有增加

ASP.NET Response.Redirect 使用 302 而不是 301

为什么 ASP.NET Identity 2.0 使用 GUID/字符串作为用户 ID?

如何在没有实体框架的情况下使用 ASP.NET Identity 3.0

这两种方法有什么区别?

学习什么 - Ruby on Rails 或 ASP .NET MVC...鉴于熟悉 ASP .NET

如何在 Visual Studio 2017 中使用 NPM 并安装包?

无法确定条件表达式的类型,因为 'string' 和 'System.DBNull' 之间没有隐式转换

使用 LINQ 进行递归控制搜索

用于验证的数据注释,至少一个必填字段?

如何防止 XXE 攻击(.NET 中的 XmlDocument)

这个rendersection的代码是什么意思?

对 ASP.NET 2.0 网页进行单元测试的最佳方法是什么?

无法在 IIS 中启动网站 - W3SVC 正在运行

捕获的异常本身为 null !

将字典绑定到中继器

协调 ASP.NET 脚本包和源映射

如何加密 web.config 中的一项

如何使用 WebAPI 处理图像