在Razor页面中路由数据

时间:2018-05-06 03:17:05

标签: asp.net-core asp.net-core-2.0 razor-pages

我在默认的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错误。

1 个答案:

答案 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