在我的asp.net core 7.0 web应用程序中,我一直在使用RedirectToAction(string? actionName, string? controllerName, object? routeValues),它很好,但它发送的路由值为Get,有没有办法让它发送的值为Post?我尝试使用RedirectToRoute(),但它没有任何actionName或actionerName init。
RedirectToAction(string? actionName, string? controllerName, object? routeValues)
Get
Post
RedirectToRoute()
gstyhher1#
如果它们都在同一个控制器中,则可以直接调用它。下面是一个demo,你可以参考一下:
public IActionResult Index() { //return View(); string UserName = "aa"; int Id = 1; return Postdata(UserName,Id); } [HttpPost] public IActionResult Postdata(string UserName,int Id) { return View(); }
结果:
**更新:**在不同的控制器中,可以使用httpClient传递数据:
public async Task<IActionResult> Index() { var model=new User() {Name = "aa",Id = 1}; JsonContent content = JsonContent.Create(model); HttpClient httpClient = new HttpClient(); var response = await httpClient.PostAsync("https://localhost:7208/Another/Postdata", content); return View(); }
AnotherController:
public class AnotherController : Controller { [HttpPost] public IActionResult Postdata([FromBody] User user) { return View(); } }
使用者:
public class User { public int Id { get; set; } public string Name { get; set; } }
1条答案
按热度按时间gstyhher1#
如果它们都在同一个控制器中,则可以直接调用它。
下面是一个demo,你可以参考一下:
结果:
**更新:**在不同的控制器中,可以使用httpClient传递数据:
AnotherController:
使用者:
结果: