我對 C# 非常陌生,我正在使用 ASP.NET 6。
在 .cshtml Razor 頁面上,我嘗試使用三元運算子根據 URL 路徑名的最后一段填充 HTML 元素類。例如:在一個名為localhost:7659/Identity/Account/Login的頁面 上,我試圖測驗加載的 URL 頁面名稱是否在最后一個 URL 段中包含單詞Login 。
這是我目前正在嘗試的:
<a class="@Context.Request.Path == '/Login' ? 'active-page' : ''" href="/Identity/Account/Login">
但以上呈現為
<a class="/Identity/Account/Login == '/Login' ? 'active-page-header-menu-link' : ''" href="/Identity/Account/Login">
即代碼沒有被決議出來,也@Context.Request.Path正在回傳整個 URL 路徑名,在這種情況下,/Identity/Account/Login我怎樣才能回傳值Login?
謝謝
uj5u.com熱心網友回復:
您生成的 html 也不正確,您需要@(...)在錨類中使用。
將您的代碼更改為:
<a class="@(Context.Request.Path.Value.IndexOf("/Login")>-1? "active-page" : "")" href="/Identity/Account/Login">XXX</a>
如果請求 url 的最后一段是,它將生成鏈接Login:
<a class="active-page" href="/Identity/Account/Login">XXX</a>
如果最后一段不是Login,它將生成鏈接:
<a class href="/Identity/Account/Login">XXX</a>
uj5u.com熱心網友回復:
您可以檢查路徑是否包含“登錄”,例如:
Context.Request.Path.contains("Login")
或者使用以下代碼獲取 URL 的最后一部分:
Context.Request.Path.Substring(Context.Request.Path.LastIndexOf('/') 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/470999.html
