目前我的所有网络表单文件(.aspx)都在我项目的根文件夹中(VS 2012)。
我创建了一个新的文件夹名称“ pages ”,并使用母版页向其添加新的网络表单(WebForm1)。当我运行这个页面时,它的地址是localhost:49217 / pages / WebForm1.aspx这是正确的,问题是:
现在所有链接都添加了“ pages ”这个词,例如正确的链接应该是localhost:49217 / Contact.aspx现在变为:localhost:49217 / 网页 /Contact.aspx
CSS看起来很奇怪,遗漏了一些css文件(路径错误)。
母版页中的CSS代码,css文件位于 css 文件夹中:
<link rel="stylesheet" href="css/reset.css" type="text/css" media="screen">
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen">
<link rel="stylesheet" href="css/grid.css" type="text/css" media="screen">
如果我在根文件夹中添加一个新的webform,一切都很好,但如果我在子文件夹中这样做,一切都搞砸了。
修改
CSS已修复,感谢大家。
“页面”仍然没有修复,它被添加到(母版页的)所有链接中
答案 0 :(得分:9)
在母版页内引用样式表或java脚本文件时,我通常会执行以下操作:
<link href="<%= ResolveUrl("~/css/reset.css") %>" rel="stylesheet" />
<script type="text/javascript" src='<%= ResolveUrl("~/js/master.js") %>'></script>
如果您在本地调试,部署到虚拟目录中的Web服务器或部署到网站根目录,这将有效。
答案 1 :(得分:6)
您的路径是相对于当前目录的,您需要在它们前面添加斜杠,以便它们始终引用根目录。像这样:
<link rel="stylesheet" href="/css/reset.css" type="text/css" media="screen">
<link rel="stylesheet" href="/css/style.css" type="text/css" media="screen">
<link rel="stylesheet" href="/css/grid.css" type="text/css" media="screen">
您还必须对图像路径执行相同的操作。