如何将 /user/id 路由到 user.cshtml
How do I route /user/id to user.cshtml
我有一个名为 Pages/user.cshtml 和 Pages/user.cshtml.cs 的文件包含以下内容。
当我访问 /user?id=123
时它执行得很好,但是我不知道如何使 /user/123
工作。
除了 404,我什么也得不到。我阅读了这一页
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing?view=aspnetcore-2.1
可是我还是想不通
我试过这条路线,但运气不好
app.UseMvc(routes => { routes.MapRoute("User", "User/{id}", new { action = "User" }); });
用户。cshtml.cs
public class UserModel : PageModel
{
public void OnGet(int id)
{
@ViewData["Title"] = id.ToString();
Use the @page
directive to:
- Append parameters to a page's default route. For example, an ID
parameter,
id
, can be required for a page with @page "{id}"
.
引用Introduction to Razor Pages in ASP.NET Core:
正如我在评论中提到的,您将 @page "{id}"
添加到页面的 cshtml
User.cshtml
@page {id:int}
@model UserModel
<html>
<body>
...
并像上面那样在操作中包含参数
User.cshtml.cs
public class UserModel : PageModel {
public void OnGet(int id) {
//...
}
}
我有一个名为 Pages/user.cshtml 和 Pages/user.cshtml.cs 的文件包含以下内容。
当我访问 /user?id=123
时它执行得很好,但是我不知道如何使 /user/123
工作。
除了 404,我什么也得不到。我阅读了这一页
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing?view=aspnetcore-2.1
可是我还是想不通
我试过这条路线,但运气不好
app.UseMvc(routes => { routes.MapRoute("User", "User/{id}", new { action = "User" }); });
用户。cshtml.cs
public class UserModel : PageModel
{
public void OnGet(int id)
{
@ViewData["Title"] = id.ToString();
Use the
@page
directive to:
- Append parameters to a page's default route. For example, an ID parameter,
id
, can be required for a page with@page "{id}"
.
引用Introduction to Razor Pages in ASP.NET Core:
正如我在评论中提到的,您将 @page "{id}"
添加到页面的 cshtml
User.cshtml
@page {id:int}
@model UserModel
<html>
<body>
...
并像上面那样在操作中包含参数
User.cshtml.cs
public class UserModel : PageModel {
public void OnGet(int id) {
//...
}
}