C # ASP.NET Core Razor страницы: как получить доступ к ограничению маршрута в разметке - PullRequest
0 голосов
/ 12 октября 2018

У меня есть страница Razor с разметкой, начинающейся примерно так:

@page {id:int?}
...

Теперь, если вы перейдете на страницу по пути /MyPage/5, параметр id в методе класса OnGet(Int32? id) будетбыть установленным в значение 5.

Я хотел бы отобразить некоторую условную разметку в зависимости от значения идентификатора. Есть ли способ получить прямой доступ к идентификатору в разметке?

Я пытался @id, но он говорит, что он не определен - что, я думаю, имеет смысл.Я подумал, что могу поймать его в методе OnGet(..) и сделать его доступным через свойство, если нет другого способа сделать это напрямую.Недостатком этого подхода является то, что мне приходится переустанавливать значение каждый раз, когда происходит постбэк.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 12 октября 2018

Краткий ответ

Вот один из способов доступа к значению id.

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

Отладка

Если вы хотите отладить, вы можете сбросить все доступные RouteData на странице, например так:

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

Вывод будет выглядеть примерно таккак это:

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