【问题标题】:Route Data in Razor PagesRazor 页面中的路由数据
【发布时间】:2018-10-16 04:22:18
【问题描述】:

我在默认页面文件夹中有一个名为“app”的剃须刀页面。

我可以通过http://myapp.com/app查看此页面

现在我想添加一个路由参数,使 url 看起来像这样: http:/myapp.com/app/greg

我想从 URL 中提取greg 并在页面中使用它。

所以我尝试了这个:

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

但我收到 404 错误。

【问题讨论】:

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


    【解决方案1】:

    Razor 页面似乎不支持属性路由。这最终对我有用。

    app.cshtml:

    @page "{name}"
    

    app.cshtml.cs:

    [BindProperty(SupportsGet = true)]
    public string Name{ get; set; }
    
    public void OnGet()
    {
         //Do something with this.Name...
    }
    

    页面指令创建路由,BindProperty 属性将值绑定到属性。

    如果您想从查询字符串中获取值,请将 @page "{name}" 更改为 @page

    【讨论】:

      猜你喜欢
      • 2020-05-01
      • 2019-05-22
      • 2023-03-24
      • 2020-04-03
      • 2018-10-18
      • 2020-05-06
      • 2020-12-09
      • 1970-01-01
      • 2018-10-16
      相关资源
      最近更新 更多