对于其他遇到此问题的人来说,这是一个权限问题iis我必须在整个树上设置权限才能呈现样式表
如何附加样式表?我试过通常的方式:
<LINK REL=StyleSheet HREF="../../Content/Site.css" TYPE="text/css" MEDIA=screen>
具有各种文件路径。我也尝试过使用vb url.content脚本。出于某种原因,我尝试的任何内容都不会显示在浏
我得到了各种结果:
还有什么问题?
它附加到主文件,所以我不知道这里还有什么问题。
答案 0 :(得分:3)
MVC应用程序需要记住的是,您的URL通常与您的实际文件系统不匹配。
假设您的文件夹结构设置类似于默认值:
/Content/
/Content/Site.css
/Views/
/Views/Home/
/Views/Home/index.aspx
/Views/Shared/
/Views/Shared/site.master
将样式声明添加到母版页时,相对路径是有意义的:
../../Content/Site.css
从我现在的位置向上移动两个文件夹,然后向下移动到
/content
以找到Site.css
。
但是,当您在浏览器中查看该页面时,该相对路径不再有效:
这两个文件夹在哪里?更糟糕的是,一个深层次的链接:
http://www.example.com/blogs/2010/11/23/My-posting
这将尝试在/ blogs / 2010 /文件夹中查找名为Content的文件夹。
您有两种选择:
href="/Content/Site.css"
这将告诉浏览器始终从您网站的根目录开始。href="~/Content/Site.css"
- 如果链接位于设置为runat="server"
的控件中,则应在运行时更正该链接以指向应用程序根目录。回复评论
好的,但我们现在正在某个地方:
查看您发布的网址,在您的开发计算机上,您是否将该网站作为根目录下的应用程序运行?因此,当您申请该网站时,您将:http://localhost/pulse/?
那么,如果您请求http://localhost/pulse/Content/Site.css,您会在浏览器中看到什么?
您的Global.asax.cs文件中的Routes集合是什么样的?那里有什么东西干扰了/ Content /文件夹吗?
答案 1 :(得分:2)
这是 Asp.net MVC 。 不要使用相对文件路径,因为路径主要与路由相关。请改用Url.Content()
助手。
<link rel="StyleSheet"
href="<%= Url.Content("~/Content/Site.css") %>"
type="text/css"
media="screen" />
答案 2 :(得分:1)
“您也可以将文件从解决方案资源管理器拖到源视图中页面的head元素,或者从解决方案资源管理器中拖动文件并将其放在页面的任何位置,在设计视图中。”
http://msdn.microsoft.com/en-us/library/bb398932.aspx
<强>更新强>
查看此帖子:http://forums.asp.net/p/1469427/3399574.aspx
Robert提供的语法应该有用。