【问题标题】:How to redirect to an external URL with POST parameters in a controller如何在控制器中使用 POST 参数重定向到外部 URL
【发布时间】:2013-08-04 17:29:22
【问题描述】:

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

基本上,我需要自动执行表单会执行的操作。

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

【问题讨论】:

标签: c# .net asp.net-mvc asp.net-mvc-4


【解决方案1】:

为此,我正在使用来自 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"];

【讨论】:

  • 你如何用这个发送标题......?
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2016-03-27
    相关资源
    最近更新 更多