我正在使用标题,主菜单,正文和页脚部分开发网站。
我正在使用网页基础布局_Layout.cshtml
,其中我使用RenderPartial()
方法呈现标题,主菜单和页脚。对于身体,我使用的是RenderBody()
方法
在_Layout.cshtml
我有以下代码:
<body style="margin: 0">
<form name="FormStart" method="post" action="Start.aspx" id="FormStart">
<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
<tr>
<td valign="top" width="1px"></td>
<td valign="top" align="center" width="972" bgcolor="#FFFFFF">
<table id="Table1" cellspacing="0" cellpadding="0" width="972" border="0" bordercolor="yellow">
<!-- HEADER -->
@{Html.RenderPartial("_Header");}
<!-- MAIN MENU -->
@{Html.RenderPartial("_Menu");}
<!-- CONTENT -->
@RenderBody()
</table>
<br />
<!-- FOOTER -->
@{Html.RenderPartial("_Footer");}
</td>
</tr>
</table>
</form>
</body>
另一方面,我使用以下代码
创建了一个非常简单的视图@{
ViewBag.Title = "Page";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h3>You just clicked </h3><h1>NATURAL ALOE SECTION</h1>
问题是,这个简单视图的内容显示在页面的最顶部,而其余部分显示在底部。它不是显示 HEADER-MAINMENU- 我的网站 -FOOTER ,而是按 我的网站 -HEADER-MAINMENU-FOOTER的顺序显示即可。
我对MVC很新;我一直在阅读here关于在我的主布局网站中使用RenderSection而不是RenderPartial的可能性,但这可能是它以这种方式显示的原因吗?可能我离基地很近,任何建议都非常感谢。
提前致谢。
答案 0 :(得分:2)
这可能会发生,因为您在<table>
内呈现标题,菜单和正文。至少 body 似乎缺少行和单元格标记(<tr><td>...</td></tr>
)。因此,表中没有行和单元格会导致各种渲染问题。
如果您没有渲染到表中并使用CSS进行布局,那么它可能会有所帮助。
答案 1 :(得分:0)
这看起来与你正在做的MVC方面无关 - 看起来非常好。
问题出在您的HTML上。我建议使用其中一个浏览器开发人员工具查看该网站(例如在Chrome或IE中打开您的网站并按F12) - 您可以使用这些功能来检查网页上的可视元素与HTML的关系。这些工具作为MVC程序员非常宝贵。
不鼓励使用表来控制网页的布局,而是使用css进行布局。您可以通过Google找到一些基本的CSS布局模板,以便开始使用。