[英]ASP.NET MVC - Reusable Control with Content
我有一個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>
}
上面的代碼不起作用。 在這里傳達想法。 根據我的理解,局部視圖不起作用,因為局部視圖不支持部分。 我在這里有什么選擇?
如果我能理解,您需要這樣的東西。
在〜/ 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.'); }); }
我不確定我是否完全了解您的要求。 但是請檢查是否對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.