簡體   English   中英

C#ASP.NET Core Razor頁面:如何在標記內訪問路由約束

[英]C# ASP.NET Core Razor pages: How to access route constraint within markup

我有一個Razor頁面,其標記如下所示:

@page {id:int?}
...

現在,如果您訪問路徑/MyPage/5上的頁面,則類方法OnGet(Int32? id)上的id參數將設置為值5

我想根據id的值顯示一些條件標記,是否可以直接在標記中訪問id?

我嘗試了@id但是它說沒有定義-我猜這很有道理。 我想我可以在OnGet(..)方法中捕獲它,並且如果沒有其他直接方法可以通過屬性使它可用。 這種方法的缺點是,每次發生回發后,我都必須重新設置該值。

有沒有辦法做到這一點?

簡短答案

這是訪問id值的一種方法。

<p>RouteData.Values["id"]</p>

調試

如果要調試,可以像這樣將所有可用的RouteData轉儲到頁面上:

<p>@Newtonsoft.Json.JsonConvert.SerializeObject(RouteData)</p>

輸出將如下所示:

{"DataTokens":{},"Routers":[],"Values":{"page":"/Index","id":"101273123"}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM