Данные маршрута в бритвенных страницах - PullRequest
0 голосов
/ 06 мая 2018

У меня есть страница вызова бритвы "app" в папке Pages по умолчанию.

Я могу просматривать эту страницу просто отлично с http://myapp.com/app

Теперь я хочу добавить параметр маршрута, чтобы URL выглядел следующим образом: http:/myapp.com/app/greg

Я хочу извлечь greg из URL и использовать его на странице.

Итак, я попробовал это:

HttpGet("app/{name}")]
public void OnGet(string name)
{
    //Do something with name.
}

Но я получаю ошибку 404.

1 Ответ

0 голосов
/ 06 мая 2018

Кажется, что атрибутная маршрутизация не поддерживается в Razor Pages. Это сработало для меня.

app.cshtml:

@page "{name}"

app.cshtml.cs:

[BindProperty(SupportsGet = true)]
public string Name{ get; set; }

public void OnGet()
{
     //Do something with this.Name...
}

Директива page создает маршрут, а атрибут BindProperty связывает значение со свойством.

Если вы хотите получить значение из строки запроса, измените @page "{name}" на @page

...