asp-route-总是传递 id 作为查询参数
asp-route-id always pass id as query parmeter
我正在尝试通过 asp-route-id 始终作为查询参数传递 id 作为路由参数
而且我不想使用 href
<a asp-area="Employe" asp-controller="PersonManager" asp-action="UserDetails" asp-route-id="@Model.Provider.Id">details</a>
路线是这样
https://localhost:5002/Employe/PersonManager/UserDetails?id=b4065ff6-c7bd-4244-a6b6-9bc6b7b4c7a8
但我想要这样
https://localhost:5002/Employe/PersonManager/UserDetails/b4065ff6-c7bd-4244-a6b6-9bc6b7b4c7a8
这是我的行动
[HttpGet]
public async Task<IActionResult> UserDetails([FromRoute] Guid id)
{
var user = await _service.GetOneUser(id);
return View(user);
}
而且我不想将 fromRoute 更改为 fromQuery 它必须是 FromRoute
为HttpGet
定义路线:
[HttpGet("UserDetails/{id}")]
public async Task<IActionResult> UserDetails([FromRoute] Guid id)
{
var user = await _service.GetOneUser(id);
return View(user);
}
要将 Id 用作路由的一部分,您需要将其定义为 HttpGet
属性的一部分。
[HttpGet("UserDetails/{id}")]
public async Task<IActionResult> UserDetails([FromRoute] Guid id)
{
var user = await _service.GetOneUser(id);
return View(user);
}
我正在尝试通过 asp-route-id 始终作为查询参数传递 id 作为路由参数 而且我不想使用 href
<a asp-area="Employe" asp-controller="PersonManager" asp-action="UserDetails" asp-route-id="@Model.Provider.Id">details</a>
路线是这样
https://localhost:5002/Employe/PersonManager/UserDetails?id=b4065ff6-c7bd-4244-a6b6-9bc6b7b4c7a8
但我想要这样
https://localhost:5002/Employe/PersonManager/UserDetails/b4065ff6-c7bd-4244-a6b6-9bc6b7b4c7a8
这是我的行动
[HttpGet]
public async Task<IActionResult> UserDetails([FromRoute] Guid id)
{
var user = await _service.GetOneUser(id);
return View(user);
}
而且我不想将 fromRoute 更改为 fromQuery 它必须是 FromRoute
为HttpGet
定义路线:
[HttpGet("UserDetails/{id}")]
public async Task<IActionResult> UserDetails([FromRoute] Guid id)
{
var user = await _service.GetOneUser(id);
return View(user);
}
要将 Id 用作路由的一部分,您需要将其定义为 HttpGet
属性的一部分。
[HttpGet("UserDetails/{id}")]
public async Task<IActionResult> UserDetails([FromRoute] Guid id)
{
var user = await _service.GetOneUser(id);
return View(user);
}