0

我想在我的 MVC 项目中使用这个模板。

但左列未显示在 index.aspx 中。感谢您帮助我找到错误。

网站.css

body{
    margin:0;
    padding:0;
    line-height: 1.5em;
    }

    b{font-size: 110%;}
    em{color: red;}

    #maincontainer{
    width: 840px; /*Width of main container*/
    margin: 0 auto; /*Center container on page*/
    }

    #topsection{
    background: #EAEAEA;
    height: 90px; /*Height of top section*/
    }

    #topsection h1{
    margin: 0;
    padding-top: 15px;
    }

    #contentwrapper{
    float: left;
    width: 100%;
    }

    #contentcolumn{
    margin-left: 200px; /*Set left margin to LeftColumnWidth*/
    }

    #leftcolumn{
    float: left;
    width: 200px; /*Width of left column*/
    background: #C8FC98;
    }

     #footer{
     clear: left;
     width: 100%;
     background: black;
     color: #FFF;
     text-align: center;
     padding: 4px 0;
     }

     #footer a{
     color: #FFFF80;
     }

Site.Master

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<!DOCTYPE html>
<html>
<head id="topsection" runat="server">
 <link href="<%=Url.Content("~/Content/Site.css")%>" rel="stylesheet" type="text/css" /> 
    <title>
    <asp:ContentPlaceHolder ID="TitleContent" runat="server" />
    </title>
     </head>
   <body>
    <asp:ContentPlaceHolder ID="pageHeadPlaceHolder" runat="server">
        <div id="pageHead">
        <p>Head</p>
        </div>
    </asp:ContentPlaceHolder>
        <div id="mainContainer">
            <asp:ContentPlaceHolder ID="leftColPlaceHolder" runat="server">
                <div id="leftcolumn">
                    <ul>
                        <li>Home</li>
                        <li>Contact Us</li>
                        <li>About Us</li>
                    </ul>
                    <div class="innertube"><b>Left Column: <em>200px</em></b></div>
                </div>
            </asp:ContentPlaceHolder>
            <asp:ContentPlaceHolder ID="MainContent" runat="server">
            <div id="contentwrapper">
                <div id="contentcolumn">
                    <p>
                        test</p>
                </div>
                </div>
            </asp:ContentPlaceHolder>
        </div>
      <asp:ContentPlaceHolder ID="pageFooterPlaceHolder" runat="server">
        <div id="footer">
        </div>
     </asp:ContentPlaceHolder>
    </body>
    </html>

索引.aspx

   <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"   Inherits="System.Web.Mvc.ViewPage" %>

   <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
          Home Page
   </asp:Content>

   <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        <h2><%: ViewData["Message"] %></h2>
   <p>
            To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
   </p>
    </asp:Content>
    <asp:Content ID="Content3" ContentPlaceHolderID="leftColPlaceHolder" runat="server"></asp:Content>

更新的图像

图片已更新

4

2 回答 2

0

你检查过 HTML 输出吗?如果左列代码不存在,那么它不是 CSS 问题。看起来您正在使用空白内容标签覆盖主文件中的左列代码。尝试从您的 index.aspx 中删除以下内容。

<asp:Content ID="Content3" ContentPlaceHolderID="leftColPlaceHolder" runat="server"></asp:Content>

如果您打算替换主文件中的内容,则只需在 index.aspx 中声明它。

于 2012-07-17T16:01:49.793 回答
0

爱,

我在您的 Site.Master 中的任何地方都看不到 css 文件。尝试添加对它的引用,类似于(或您的特定 css 的路径可能是什么):

<link href="<%=Url.Content("~/Content/Site.css")%>" rel="stylesheet" type="text/css" />
于 2012-07-17T14:23:39.403 回答