在Asp.Net Core中,可以通过使用不同的Http谓词和不同的路由来定义同名但参数不同的多个动作方法。
以下是一个示例代码:
public class HomeController : Controller
{
[HttpGet("users")]
public IActionResult GetUserList()
{
// 返回用户列表的逻辑
return View();
}
[HttpGet("users/{id}")]
public IActionResult GetUserDetails(int id)
{
// 返回用户详细信息的逻辑
return View();
}
[HttpPost("users")]
public IActionResult CreateUser(UserModel user)
{
// 创建用户的逻辑
return RedirectToAction("GetUserList");
}
[HttpPut("users/{id}")]
public IActionResult UpdateUser(int id, UserModel user)
{
// 更新用户的逻辑
return RedirectToAction("GetUserDetails", new { id = id });
}
[HttpDelete("users/{id}")]
public IActionResult DeleteUser(int id)
{
// 删除用户的逻辑
return RedirectToAction("GetUserList");
}
}
在上述示例中,我们定义了一个名为HomeController的控制器,并在控制器中定义了五个不同的动作方法:
通过使用不同的Http谓词和不同的路由,我们可以在同一个控制器中定义多个同名但参数不同的动作方法,以处理不同的请求。