我有一个Razor页面,其标记如下所示:
@page {id:int?}
...
现在,如果您访问路径/MyPage/5
上的页面,则类方法id
上的OnGet(Int32? id)
参数将被设置为值5
。
我想根据id的值显示一些条件标记,是否可以直接在标记中访问id?
我尝试了@id
,但是它没有定义-我想这很有道理。
我认为我可以在OnGet(..)
方法中捕获它,并且如果没有其他方法可以直接通过属性使它可用。这种方法的缺点是,每次发生回发后,我都必须重新设置该值。
有没有办法做到这一点?
答案 0 :(得分:2)
这是访问id
值的一种方法。
<p>RouteData.Values["id"]</p>
如果要调试,可以像这样在页面上转储所有可用的RouteData
:
<p>@Newtonsoft.Json.JsonConvert.SerializeObject(RouteData)</p>
输出将如下所示:
{"DataTokens":{},"Routers":[],"Values":{"page":"/Index","id":"101273123"}}