0

我正在做这个项目,我的应用程序需要连接到第三方应用程序。我的脚步

  1. 创建表单以提交数据。
  2. 在 MY 控制器操作中获取表单数据。将我所需的变量保存到数据库。
  3. 然后将数据发送到第三方应用程序。

现在这里的问题是,我需要将数据作为提交表单发送。第三方应用程序将值作为

Request.form("FormVal")

我可以no changes向第三方申请。

那么我如何发送Form data through my Controller actionThird Party application?

return view("action", model); // the model is needed to be sent.

它适用于我自己的应用程序中的视图。但是我需要将它与模型一起发送到外部视图(第三方),以便他们可以获得价值

Request.form("FormVal")

我看到Redirect命令可以转到外部视图,但我不能form Data用它发送。

4

2 回答 2

1

您可以使用HttpClient将数据发送到第三方应用程序。

像这样:

  var formValues = new Dictionary<string,string>();
  formValues.Add("Key", "Value");
  HttpResponseMessage response = await httpClient.PostAsync(thirdPartyUrl, new FormUrlEncodedContent(formValues));
  response.EnsureSuccessStatusCode();
  string responseBody = await response.Content.ReadAsStringAsync();

编辑:

如果您不使用 .NET Framework 4.5,则可以改用WebClient.UploadValues

 byte[] responseArray = myWebClient.UploadValues(thirdPartyUrl,myNameValueCollection);
于 2013-05-05T07:40:00.100 回答
0

HttpResponseMessage不是我真正想要的。我还需要重定向。所以我为此使用了javascript/jquery

我创建了两个视图

  1. 第一个是用户输入视图。
  2. 第二个是重定向视图

然后从我发布到我的控制器的第一个视图中,从控制器操作中调用我的重定向视图

return view("redirectView", model);

在重定向视图中,我创建了一个带有隐藏输入的表单

@HiddenFor(m=>m.SomeValue)

然后在页面加载时,我使用javascript提交表单。

$("form#formID").submit();

这对我现在有效。还要感谢 Kambiz 让我理解了这个问题。

于 2013-05-06T10:53:50.217 回答