【发布时间】:2019-12-01 20:57:31
【问题描述】:
我是 asp.net 编程的新手,遇到了这个不寻常的错误。我有一个名为 Master.Master 的母版页,其中包含以下用于指定 CSS 文件的代码。
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="Stylesheets" runat="server">
<link rel="stylesheet" href="~/Styles/StyleSheet.css" type="text/css" />
</asp:ContentPlaceHolder>
</head>
请注意,对于母版页,CSS 可以完美运行,没有任何问题,我已经创建了一个默认的 asp Web 表单,它从 Master.Master 页面获取所有内容。然而,这个页面根本没有显示 CSS,这是页面代码。
<%@ Page Title="Home" Language="C#" MasterPageFile="~/Master.Master" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="GarageManager.WebForm1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="stylesheets" runat="server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
</asp:Content>
通过研究这个问题,这里的许多用户甚至建议使用脚本语言来解析这样的 URL,但无济于事。
<a runat="server" href="<%= this.ResolveUrl(~/Styles/StyleSheet.css) %>" onmouseover="document.Home_Img.src='<%= this.ResolveUrl("Images/home_2.png") %>'"
onmouseout="document.Home_Img.src='<%= this.ResolveUrl("Images/home.png") %>'">
<img alt="" src="Images/home.png" name="Home_Img" runat="server" />
</a>
提前致谢
【问题讨论】:
-
为什么要把它放在 ContentPLaceHolder 中?您可以按原样将
<link rel="stylesheet"放在头部。 -
我同意@VDWWD,从母版页中删除您的两个 ContentPlaceHolders 并仅使用头部中的链接会更容易和更清洁 imo
-
将链接放在头部时,尝试将 CSS 文件从解决方案资源管理器拖到头部标签。
-
谢谢,伙计们。这是我为这个问题找到的最简单的解决方案。请把它作为答案发布,这样我就可以投票了:D
标签: c# html css asp.net master-pages