我正在開發一個 asp .net razor 頁面應用程式。我在 _layout.cshtml 檔案中有一個導航欄,其中包含一些鏈接。我想將活動類分配給單擊的鏈接。我試圖通過驗證 ViewBag.Title 的值來做到這一點,但它不起作用,但我在控制臺中得到了它的值。請幫我。這是 _layout.cshtml 檔案中的導航欄鏈接部分。
<div class="navbar-nav ms-auto">
<a data-toggle="tab" asp-page="Index" class="nav-item nav-link @ViewBag.Title=='Welcome'? ' active' : '' ">Home</a>
<a data-toggle="tab" asp-page="Products" class="nav-item nav-link {{ @ViewBag.Title=='Products' ? 'active' : '' }}">Products</a>
<a data-toggle="tab" asp-page="NewsBlog" class="nav-item nav-link {{ @ViewBag.Title=='News & Blog' ? 'active' : '' }} ">News & Blog</a>
<a data-toggle="tab" asp-page="Contact" class="nav-item nav-link {{ @ViewData["Title"]=='Contact us' ? 'active' : '' }}">Contact Us</a>
</div>
這是為 viewBag 賦值的索引頁面
@page
@model Sora.UI.Pages.IndexModel
@{
ViewBag.Title= "Welcome";
}
uj5u.com熱心網友回復:
@ 符號插入了一些剃刀語法。這實際上是 C# 代碼而不是 javascript。
使用直接語法,您只能訪問屬性和欄位,例如@Viewbag.myprop. 但是,在將代碼放在括號之間時,您也可以評估 (c#!) 運算式。例如
@(ViewBag.Title=="Welcome" ? " active" : "")
注意:這需要將整個運算式放在一行中。多行運算式將不起作用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494825.html
