【问题标题】:How to force a RazorPage RedirectToPage to perform a POST instead of a GET [duplicate]如何强制 RazorPage RedirectToPage 执行 POST 而不是 GET [重复]
【发布时间】:2020-02-07 23:35:42
【问题描述】:

对于 .net core RazorPages,通常将代码放在 OnGet() 或 OnPost() 函数中执行某些工作,然后将用户重定向到另一个带有一些数据(例如匿名对象)的 RazorPage:

public async Task<IActionResult> OnPost()
{
   // do some work

   // redirect the user to another page
   return RedirectToPage("NextPage", new { user = _user, isComplete = _isComplete });
}

问题是 RedirectToPage 总是 将对象中的参数作为 GET 重定向,参数在浏览器地址栏中可见:

https://example.com/NextPage?user=Pete&isComplete=true

如何强制 RazorPage 将重定向请求作为 POST 而不是 get 发送?

【问题讨论】:

    标签: asp.net-core razor-pages


    【解决方案1】:

    你不能。重定向只是带有 301、302 或 307 状态代码的响应和包含您要重定向到的 URL 的 Location 响应标头。到那时,就完成了。然后,客户端可以选择跟随 Location 标头中的 URL(如果它选择 - 不需要)。默认情况下,Web 浏览器会自动跟随它,但它会通过 GET 来完成。没有办法强制 POST。

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 1970-01-01
      • 2018-04-21
      • 2013-02-25
      • 2017-06-13
      • 2018-03-30
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      相关资源
      最近更新 更多