【问题标题】:In MVC Music Store Tutorial, @url.content在 MVC 音乐商店教程中,@url.content
【发布时间】:2012-09-03 14:51:51
【问题描述】:

在这两行代码之间,第二行有效,但 _layout.cshtml 文件中提供的代码,第一行是来自 MVC 3 项目模板的代码。 我非常仔细地按照说明进行操作,下面的第二行可以正常工作。 是否有一些额外的参考文件必须加载或 Webconfig 中的设置才能使用 html 帮助程序?

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<link href="../content/site.css" rel="stylesheet" type="text/css" />

【问题讨论】:

    标签: .net asp.net-mvc-3 html-helper


    【解决方案1】:

    这两种说法是有区别的:

    @Url.Content();
    

    会将其根引用放在您网站的基本 URL 中。因此,在您的情况下,CSS 应位于“http://localhost:port/Content”下。如果不是这种情况,您需要使用任何其他子文件夹更新路径。示例:

    @Url.Content("~/Static/Content/Site.css");
    

    第二行将引用与包含 HTML 文件的文件夹处于同一级别的 Content 文件夹。例如,这会起作用:

    /Static/Content/Site.css
    /Static/Views/Index.html
    

    【讨论】:

    • 感谢您的回复...但是,我没有其他子文件夹。据我了解,这两行代码都引用了相同的位置。我错了吗。
    • @AllenB 他们可能引用同一个地方,但第一个搜索包含/Content/site.css 的绝对路径,因此可以将带有 site.css 文件的文件夹移动到任何地方,并且仍然可以正常工作。在第二行中,您说文件位于上一个目录,然后从那里进入/content/site.css 文件夹。有意义吗?
    • 好的......这确实有道理,但不会改变我遇到的问题。 Site.css 位于 Content 文件夹中。 content 文件夹与 Controllers、Views 和 Models 文件夹处于同一级别。我错过了什么?
    • 另外,...在尝试使用此代码进行一些其他组合之后。这也有效,但我认为这不再是相对路径。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    相关资源
    最近更新 更多