Ert*_*ani 6 asp.net-routing razor asp.net-core asp.net-core-2.0 razor-pages
我想知道如何在 Razor Pages (Page.cshtml) 中获取路由值。前任。
https://localhost:44320/AdminPanel/Admins
如果我使用 MVC,我会将这些数据作为
var controller = ViewContext.RouteData.Values["Controller"]; //AdminPanel
var action = ViewContext.RouteData.Values["Action"]; //Admins
Run Code Online (Sandbox Code Playgroud)
如何在 Razor Pages 中获取这些值?
对于任何试图获得它的人,您可以通过以下方式获得它:
var fullRoute = ViewContext.RouteData.Values["Page"]; // AdminPanel/Admin
Run Code Online (Sandbox Code Playgroud)
AdminPanel.cshtml假设您的文件夹中有一个名为的页面Pages,请@page在第一行后面添加一个参数,如下所示:
@page "{action}"
然后在后面的代码 ( AdminPanel.cshtml.cs) 中,向您的OnGet方法添加一个 prop 和一个参数,如下所示:
private string _action;
public void OnGet(string action) {
_action = action; //now do whatever you want with it
}
Run Code Online (Sandbox Code Playgroud)
如果您想在 cshtml 页面上的模型中访问它,您可以添加 getter。
注意:执行上述操作将使该页面需要指定操作。或者,您也可以通过添加问号 ( @page "{action?}") 并在 OnGet ( ) 中设置默认值来使其可选OnGet(string action="")。
| 归档时间: |
|
| 查看次数: |
5324 次 |
| 最近记录: |