如何在VB ASP.NET项目中链接CSS文件?Home.aspx样式无法加载
解决ASP.NET项目中Home.aspx无法加载All_Body.css的路径问题
嘿,这问题我之前也踩过坑!结合你的项目结构,给你两个靠谱的解决方案,都能彻底避开本地绝对路径的问题,部署到服务器也能正常工作:
方案1:使用ASP.NET根路径运算符(推荐)
ASP.NET里的~符号代表应用程序根目录,但纯HTML的<link>标签不会自动解析它,所以得给标签加上runat="server"让服务器帮忙处理路径。修改Home.aspx里的引用代码如下:
<asp:Content id="Home_Content1" ContentPlaceHolderID="head" runat="server"> <link rel="stylesheet" type="text/css" href="~/Styles/All_Body.css" runat="server" /> ... </asp:Content>
这个方法最省心:不管你的Home.aspx以后移到哪个子文件夹,路径都不用改,服务器会自动根据部署后的应用根目录解析成正确的URL,完全不用担心本地用户名或者服务器部署路径的差异。
方案2:使用相对路径
如果不想用服务器控件,也可以用纯HTML的相对路径。因为Home.aspx在UI文件夹里,而Styles文件夹在项目根目录,所以需要先回到上一级目录(项目根),再进入Styles文件夹:
<asp:Content id="Home_Content1" ContentPlaceHolderID="head" runat="server"> <link rel="stylesheet" type="text/css" href="../Styles/All_Body.css" /> ... </asp:Content>
这里的../表示上一级目录,从UI文件夹往上走一级就是MyWebsite根目录,再指向Styles/All_Body.css就对了。不过要注意,如果以后Home.aspx的位置变动,这个相对路径也需要跟着调整。
小提示
确认你的Master.master里的<head>标签已经加上了runat="server"(看你提供的代码是有的),这样服务器才能正确解析根路径和内容占位符里的服务器控件。
内容的提问来源于stack exchange,提问作者user9207271
相关产品推荐
相关产品推荐

