vto*_*ola 16 asp.net-mvc layout razor asp.net-mvc-3
我一直在阅读有关布局,部分,视图和部分视图的内容,但我真的不知道如何处理这个示例的布局:

顶级酒吧:就像Facebook拥有的酒吧一样.我将包含身份验证信息和一般选项和菜单.
导航栏:将包含有关您的位置以及您可以去哪里的信息.也是一个"搜索"框.
正文:实际需要的信息.
侧栏:将包含有关身体内容的相关信息.
页脚:版权,许可和类似的东西.
正文将是"视图",侧边栏将是"部分",页脚将是"布局"中的静态HTML,但是...什么是顶部栏和导航?
顶部栏与任何东西都没有关联,所以我会把它作为"局部视图"放在"布局"中,但我不能这样做,因为它必须在里面<body>,所以当我打电话时@RenderBody(),它应该被渲染.与导航一样,它与身体有某种关系,但我想把它分开作为一个外部控件,它自己运行并根据URL中的信息显示信息.
我该怎么做呢?
更新,请阅读:问题不是关于CSS和HTML,它不是关于如何布局,而是如何使用Razor工具来做,它是关于Razor RenderBody和PartialView.
当我从控制器返回一个结果时,我想返回图片中标记为"body"的内容,并将"side bar"作为一个部分返回,我想避免重复顶部条形码.有没有办法创建一个"ChildView",它继承自"ParentView",这来自"Layout",当我返回"View("ChildView")时,屏幕是自动构建的?
小智 10
关于Layouts with Razor的帖子很棒:ASP.NET MVC 3:使用Razor进行布局.
基本上你的结构将是:
1)_ViewStart.cshtml(这将指向一个布局和你所有人的观点将共享的其他东西);
2)一个.cshtml,它将是你的布局,即:_Layout.cshtml(类似于Site.Master网页).
在_Layout.cshtml里面你会放置你的HTML布局,例如:
<body>
<div id="maincontainer">
<div id="topsection">
<div class="topbar">
<h1>Header</h1>
<div id="logindisplay">
@Html.Partial("_LogOnPartial")
</div>
</div>
<div class="nav">
<ul><li>Home</li></ul>
</div>
</div>
<div id="contentwrapper">
<div id="contentcolumn">
<div class="body">
@RenderBody()
</div>
</div>
</div>
<div id="sidebar">
<b>Side bar</b>
</div>
<div id="footer">Footer</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
看到我把@RenderBody()放在div"#body"中,所以当我的控制器返回一个ActionResult时,只有这个div会用结果更新.
| 归档时间: |
|
| 查看次数: |
20428 次 |
| 最近记录: |