c# – ASP.NET页面没有加载CSS样式
这是一个使用VS 2010的ASP.NET中的简单网站,C#使用.我有以下目录结构:
起始页面是Default.aspx,它完全加载.但是当我从Default页面打开Interface / SystemAdminLogin.aspx页面时,它加载没有CSS样式.我在主页中导入了CSS样式表.以下是我在两个.aspx文件中引用MasterPage文件的方式: Default.aspx的: <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> SystemAdminLogin.aspx: <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="SystemAdminLogin.aspx.cs" Inherits="_Default" %> 我没有看到我的代码有任何错误,但为什么在Interface文件夹中的页面没有加载CSS样式? 这里是我导入css文件的主页面代码: <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Facial Recognition Bank System</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <link href="Styles/style.css" rel="stylesheet" type="text/css" media="screen" /> <asp:ContentPlaceHolder ID="HeadContent" runat="server"> </asp:ContentPlaceHolder> </head> 这里是CSS文件代码的一部分: body { margin: 0; padding: 0; background: #fff url(../images/img01.jpg) repeat-x left top; font-family: Arial,Helvetica,sans-serif; font-size: 12px; color: #000; } 解决方法
主页中包含的样式表使用相对路径.
使用runat = server指定样式表链接,并使用虚拟Web根路径(?)对其进行前缀: <link href="~/Styles/style.css" rel="stylesheet" type="text/css" media="screen" runat="server" /> 要么: <link href="/Styles/style.css" rel="stylesheet" type="text/css" media="screen" runat="server" /> 但请记住,建议使用第一个选项.当您将网站发布到虚拟目录中时,第二个将无法正常工作. 最后评论后… CSS中的图像URL也应该更新,以便不使用相对路径或进行任何路径遍历(../).
对于此选项,您需要将图像文件夹移动到“样式”文件夹中(这是一个很好的做法). 最后更新: 看起来头元素也需要是runat = server,以使ASP.NET相对路径(?)在链接元素中使用runat = server. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |