4

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

基本上我需要自动完成表单的功能。

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

4

2 回答 2

4

为此,我正在使用 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:

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

在您的外部网址中,您会获得值:

string strName = Request["nome"];
string strCity = Request["city"];
于 2016-02-06T15:23:23.343 回答
2

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

  • 在服务器上执行 POST 并在服务器端处理结果(如果您需要通过该 post 请求在目标服务器上设置或使用 cookie,则不起作用)
  • 直接在浏览器端执行发布到该服务器
  • 如果您需要通知两者,请执行 AJAX 发布到您的服务器和正常发布到目标服务器。
于 2013-08-04T17:44:02.713 回答