[英]ASP.NET, MVC, C# application - modify _Layout.cshtml for different Views
我有一個使用_Layout.cshtml文件的ASP.NET,MVC,C#應用程序。 我想將_Layout.cshtml文件用於多個視圖,但是根據要顯示的視圖,我想稍微改變_Layout.cshtml。
如在_Layout.cshtml中有類似的內容-
<div>I would like to say </div>
@if(View = "View1")
{
<div>Hello!</div>
}
@else
{
<div>Goodbye!</div>
}
<div>Have a great day!</div>
有人可以告訴我該怎么做嗎? 謝謝!
假設您不僅要更改簡單的文本,還可以使用相應的部分。 例如,將其放在_Layout.cshtml
:
@RenderSection("mySection", required: true)
然后在您的每個視圖中:
@section mySection
{
<div>Hello!</div>
}
這是一個不錯的博客,提供了更多信息。
通常,您想對照操作而不是視圖來檢查。 你想做這樣的事情
@if(Html.ViewContext.RouteData.Values["Controller"] == "Home" && Html.ViewContext.RouteData.Values["Action"] == "Index") {
<div>Hello!</div>
}else {
<div>Goodbye!</div>
}
巧妙的解決方案:在視圖中向ViewBag添加變量。 像這樣:
@ViewBag.Foo="bar"
在定義渲染哪個視圖之前。 並在此基礎上進行布局。
盡管這不是最佳實踐方法-我個人可能會選擇不同的布局。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.