如何在控制器中使用POST参数重定向到外部URL

本文关键字:重定向 参数 外部 URL POST 控制器 | 更新日期: 2023-09-27 18:26:27

如何使用POST方法并传递一些参数将控制器重定向到外部URL?

基本上,我需要自动做一个表格会做什么。

我在控制器中找到了Redirect方法,但它似乎只接受url字符串。没有方法也没有参数。

如何在控制器中使用POST参数重定向到外部URL

我使用的是Nuget的Fluentx.Mvc。

从nuget安装Fluentx.Mvc

你需要在你的代码中包括:

using Fluentx.Mvc;

和用post调用外部URL的代码:

首先创建一个字典,如:

Dictionary<string, object> 
          objData = new Dictionary<string, object>();

和插入值:

objData.Add("name", "John");
objData.Add("city", "NY");

之后,使用Fluentx:返回

return this.RedirectAndPost("http://yourexternalurl", objData);

在你的外部url中,你会得到值:

string strName = Request["nome"];
string strCity = Request["city"];

您不能使用服务器端重定向进行post。选项:

  • 在服务器端执行POST并处理结果服务器端(如果您需要通过该POST请求在目标服务器上设置或使用cookie,则不起作用)
  • 直接在浏览器端执行发布到该服务器
  • 执行AJAX张贴到您的服务器和正常张贴到目标服务器,如果您需要通知两者