【发布时间】:2009-02-21 09:44:19
【问题描述】:
使用 Asp.net MVC 在页面中添加样式表有多少种方法
【问题讨论】:
-
我们将您不需要在标题中提供帮助。这就是我们在这里所做的 =)
-
标题中有“请帮助”的另一个问题?
-
请帮助人们写出更好的问题标题。通过编辑他们的问题。
标签: asp.net-mvc routing
使用 Asp.net MVC 在页面中添加样式表有多少种方法
【问题讨论】:
标签: asp.net-mvc routing
无论您在何处为详细信息页面指定 CSS,而不是相对路径,例如
<link href="../../Content/CSS/details.css" rel="stylesheet" type="text/css" />
尝试使用内容助手并指定虚拟路径
<link href="<%= Url.Content("~/Content/CSS/details.css") %>" rel="stylesheet" type="text/css" />
网站似乎在加载基于相对链接的 CSS 文件时遇到问题。
【讨论】:
使用css的绝对链接而不是相对链接(例如/Content/site.css"而不是"../Content/site.css")。您也可以使用 Html.Stylesheet("~/Content/site.css") 扩展名(在 MvcContrib 库中)来指定样式表。
【讨论】:
问题是没有得到正确的 CSS 吗?如果是这样,那么我会检查您的 Details.aspx 文件并确保指向 CSS 的链接是正确的路径。最有可能的是,您的 Details.aspx 文件被移动到了新的子目录或另一个目录中,从而使 aspx 文件和 CSS 文件之间的相对路径不同。
我会从浏览器中检查页面源代码并查看 CSS 文件的路径。我解决问题的方法是修改 aspx 文件以使用 css 文件的完全限定路径。确保它有效。然后尝试将完整路径更改为使用相对路径。
【讨论】:
在处理 MVC 书中的示例时,我遇到了同样的问题,它提到了一些关于 '~' 字符的内容,因为<head> 标记上有runat="server" 属性。因此,我尝试将 runat 属性添加到链接标签本身,如下所示,它起作用了:
<link runat="server" href="~/Content/styles.css" rel="stylesheet" type="text/css" />
【讨论】: