esp*_*enk 3 asp.net asp.net-mvc
我有这个_Layout.cshtml
<body>
<div id="wrapper">
<div id="header-wrapper">
<div id="header">
<div id="logo">
//SOME LOGO LOGIC
</div>
</div>
<div id="menu-wrapper">
//SOME MENU LOGIC
</div>
<!-- end #menu -->
<div id="banner">
<div id="slider"> <a href="#" class="button previous-button"><</a> <a href="#" class="button next-button">></a>
<div class="viewer">
<div class="reel">
<div class="slide">
<h2>Stallen..</h2>
<p>Her kan du skrive noe tekst</p>
<a class="link" href="~/horse/riversidestar">Full story ...</a><img src="~/images/img01.jpg" width="900" height="350" alt="" /></div>
<div class="slide">
<h2>Riverside Star i naturen</h2>
<p>Her kan du skrive noe tekst</p>
<a class="link" href="~/horse/riversidestar">Full story ...</a><img src="~/images/img02.jpg" width="900" height="350" alt="" /></div>
</div>
</div>
<div class="indicator">
<ul>
<li class="active">1</li>
<li>2</li>
</ul>
</div>
</div>
<script type="text/javascript">//SOME SCRIPT</script>
</div>
</div>
<div id="page">
<div id="content">
@RenderBody()
</div>
<div id="sidebar-bg">
<div id="sidebar">
<h2>Nyheter</h2>
@{Html.RenderAction("ShortNewsList", "News");}
</div>
</div>
<div style="clear: both;"> </div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在,它只是每个视图上不同的renderBody部分.当我进入不同的视图时,如何用id = banner更改DIV的内容
当我尝试在另一个视图中添加它时,它在布局中当然是非常错误的
你可以使用Razor部分.在您的布局中定义一个部分:
@RenderSection("Banner", required: false)
Run Code Online (Sandbox Code Playgroud)
并在您的视图中覆盖此部分:
@section Banner {
... contents of the banner specific to that view
}
Run Code Online (Sandbox Code Playgroud)
您还可以定义默认横幅,这样就不需要在每个视图中覆盖:
@if (!IsSectionDefined("Banner"))
{
... put the default banner contents here
}
else
{
@RenderSection("Banner", required: true)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2073 次 |
| 最近记录: |