我有一个ASP.NET MVC应用程序。在我的应用程序中,我有多个布局文件(~10)。我有一块与布局文件类似的HTML。出于这个原因,我想把它放到一个可重用的控件中,因为我预计它将需要一些改变。
在某些引用我使用此控件的布局文件的页面上,我想在控件的内容区域插入一些内容。为了演示,假设我有一个这样的布局文件:
_Layout.cshtml
@** MY REUSED BANNER CONTROL GOES HERE **@
<div class="container">
@RenderBody()
</div>
Banner.file [不知道该使用什么]
<div class="container-fluid">
<div class="row">
<div class="col-lg-3">
Hello
</div>
<div class="col-lg-3">
@RenderSection("bannerContent", required: false)
</div>
<div class="col-lg-3">
Leave
</div>
</div>
</div>
MyPage.cshtml
@{
Layout = "~/Views/Shared/_Layout.cshtml"
}
<div>
Main content goes here
</div>
@section bannerContent {
<div>This goes into Banner.file</div>
}
上述代码不起作用。它是在那里传达这个想法。根据我的理解,部分视图不起作用,因为部分视图不支持部分。我有什么选择?
答案 0 :(得分:0)
如果我能理解你需要这样的东西。
在〜/ Views / Shared中创建_banner.cshtml。
<div class="container-fluid">
<div class="row">
<div class="col-lg-3">
Hello
</div>
<div class="col-lg-3" id="banner_content"> // Here your page specific content will go
</div>
<div class="col-lg-3">
Leave
</div>
</div>
_LayOut.cshtml
@Html.Partial("_banner"); // Reusable banner html
<div class="container">
@RenderBody()
</div>
MyPage.cshtml
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div>
Main content goes here
</div>
@section Scripts {
$(document).ready(function(){
$('#banner_conten').html('Your dynamic part.');
});
}
我不确定我是否完全理解你的要求。但请检查它是否对您有所帮助。