C# 使用母版页的子文件夹中的Webform
目前,我的所有web表单文件(.aspx)都位于我的项目(VS 2012)的根文件夹中 我创建了一个新文件夹名“页面”,并使用母版页向其中添加了一个新的webform(WebForm1)。当我运行这个页面时,它的地址是localhost:49217/pages/WebForm1.aspx,这是正确的,问题是:C# 使用母版页的子文件夹中的Webform,c#,asp.net,webforms,C#,Asp.net,Webforms,目前,我的所有web表单文件(.aspx)都位于我的项目(VS 2012)的根文件夹中 我创建了一个新文件夹名“页面”,并使用母版页向其中添加了一个新的webform(WebForm1)。当我运行这个页面时,它的地址是localhost:49217/pages/WebForm1.aspx,这是正确的,问题是: 所有链接现在都添加了单词“页面”,例如,正确的链接应该是localhost:49217/Contact.aspx,现在变成了:localhost:49217/页面/Contact.asp
- 所有链接现在都添加了单词“页面”,例如,正确的链接应该是localhost:49217/Contact.aspx,现在变成了:localhost:49217/页面/Contact.aspx
- 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,一切都很好,但如果我在子文件夹中这样做,一切都会一团糟
编辑:
您的路径是相对于当前目录的,您需要在它们前面加上斜杠,以便它们始终引用根目录。像这样:
<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">
您还必须对图像路径执行相同的操作。在母版页中引用样式表或java脚本文件时,我通常执行以下操作:
<link href="<%= ResolveUrl("~/css/reset.css") %>" rel="stylesheet" />
<script type="text/javascript" src='<%= ResolveUrl("~/js/master.js") %>'></script>
如果您在本地进行调试,部署到虚拟目录中的web服务器,或者部署到网站根目录,这将起作用。告诉我们您在母版页中引用CSS文件的位置。@IrishChieftain:我添加到问题中,这就是你需要的吗?我同意LilBiggs02的说法,将页面添加到URL是正常的。现在CSS看起来不错,但“页面”仍然添加到所有链接中。你有什么想法吗?谢谢你的建议。你能帮我的“页面”部分,它已经被添加到所有的链接(主)请尝试上面的代码。如果您将子页面移动到不同的子文件夹中,它将起作用。尝试了您的代码,它修复了CSS,但链接仍然被添加到“页面”上。例如,母版页菜单上的所有链接(产品|服务|联系人…)都变成了:…/pages/Product或…/pages/contact@RonaldinhoState-这就是asp.net的工作原理。url映射到特定的文件位置。由于产品位于pages子文件夹中,这就是您看到url的原因。如果要更改url,请签出asp.net路由。