0

マスターで定義されたスタイルを子ページに反映させることができません。これが私がしたことです:

  • Main.cssアプリのルートにスタイルシートを作成しました

    body {
        background-color:red;
    }
    
  • Site.MasterWeb アプリケーションのルートにマスター ページを作成しました

    <%@ Master Language="VB" AutoEventWireup="false" CodeBehind="Site.master.vb" Inherits="WebApplication1.Site" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
         <link href="Main.css" rel="stylesheet" />
    </asp:ContentPlaceHolder>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
        Master Page`
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
    
        </asp:ContentPlaceHolder>
    </div>
    </form>
    </body>
    </html>
    

これは、デザイナーで赤い背景の罰金で表示されます

  • WebForm.aspxアプリのルートに子ページを作成しました

    <%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
          Child Page Contents
    </asp:Content>
    

ただし、これは、デザイナーまたは実行時に赤い背景を表示しません。ソースを表示すると、ファイルに css 宣言がありませんが、「Master Page Child Page Contents」と表示されているため、マスターページを取得しています

4

2 に答える 2

1

マスター ページを次のように再構成します。

<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="Site.master.vb" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<link href="Main.css" rel="stylesheet" type="text/css" />
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
    Master Page`
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

    </asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>

ContentPlaceHolder ではなく、head タグでスタイルシートをリンクする必要があります。

于 2013-08-14T18:04:43.707 に答える
0

これを交換

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    <link href="Main.css" rel="stylesheet" />
    </asp:ContentPlaceHolder>

   <html xmlns="http://www.w3.org/1999/xhtml">
   <head runat="server">
   <link href="Main.css" rel="stylesheet" />
   <title></title>
   <asp:ContentPlaceHolder ID="head" runat="server">
   </asp:ContentPlaceHolder>

CSS シートへのリンクは、コンテンツ プレース ホルダー内にあります。

于 2013-08-14T18:20:02.193 に答える