2013-08-28 56 views
0

我现在有一个问题,我正在使用asp.net web窗体创建一个双列布局。我可以在下面的代码的母版页中创建一个没有问题的2列布局。asp.net webforms嵌套母版页和css

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs"  Inherits="WebApplication5.Site1" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <asp:ContentPlaceHolder ID="head" runat="server"> 
    </asp:ContentPlaceHolder> 
    <link href="/css/bootstrap.min.css" rel="stylesheet" /> 
    <link href="/css/custom.css" rel="stylesheet" /> 
</head> 
<body> 
<div class="container-fluid"> 
    <form id="form1" runat="server"> 

      <div id="sidebar"> 
       <asp:Menu ID="Menu1" runat="server"> 
        <Items> 
         <asp:MenuItem Enabled="true" Text="Main Menu"></asp:MenuItem> 
         <asp:MenuItem Enabled="true" Text="Sub Page"></asp:MenuItem> 
        </Items> 
       </asp:Menu> 
      </div> 
      <div id="content"> 

        <div> 
         <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 
         </asp:ContentPlaceHolder> 
        </div> 
      </div> 
    </form> 
</div> 
</body> 

但是只要一个补充,继承此母版的另一个母版页,然后在子页面添加到我的CSS的车身高度也不会改变基于页面的元素辅助主。它保持与连接到上面的主站的子页面相同的像素。

这是我使用的CSS。两列延伸至底部的第一页上,但只要我去到另一个网页,列内的元素比第一身体保持相同的长度

#sidebar, #content { 
    position: absolute; 
    top:0; 
    bottom:0; 
} 

#sidebar { 
    left: 0; 
    width: 15em; 
    background-color: bisque; 
} 

#content { 
    left: 18em; 
    right:0; 
    background-color:bisque; 
} 

大这是一个硬问题来形容,但任何线索至少让我指出正确的方向将非常感激。

谢谢

+0

您的子主页如何显示,并且示例页面也不错。 – NiKiZe

+0

是否将CSS文件加载到子页面上? –

+0

是的,他们是。我正在使用根相对路径。 –

回答

1

为您的CSS链接使用根相对路径。如果您的子页面位于主页面的不同目录中,则指向您的css文件的链接将中断。改为使用以下内容:

<link href="/css/bootstrap.min.css" rel="stylesheet" /> 
<link href="/css/custom.css" rel="stylesheet" /> 
+0

这个示例代码只是一个简单的模拟,我试着解释我在做什么。在完整版本中,主文件和子页面全部位于相同的文件夹中,并且使用根相对路径。 –