我在默认的Pages文件夹中有一个剃刀页面调用“app”。
我可以使用http://myapp.com/app
现在我想添加一个路由参数,所以网址如下所示:
http:/myapp.com/app/greg
我想从网址中提取greg
并在页面中使用它。
所以我尝试了这个:
HttpGet("app/{name}")]
public void OnGet(string name)
{
//Do something with name.
}
但我收到404错误。
答案 0 :(得分:1)
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