我正在处理这个项目,我的应用程序需要连接到第三方应用程序。 我的步骤
现在的问题是,我需要将数据作为提交表单发送。 第三方应用将值视为
Request.form("FormVal")
我可以将no changes
提交给第三方应用程序。
那么如何将Form data through my Controller action
发送到Third Party application?
另外
return view("action", model); // the model is needed to be sent.
它适用于我自己的应用程序中的视图。但是我需要使用模型将其发送到外部视图(第三方),以便它们可以获得值
Request.form("FormVal")
我看到Redirect
命令可以转到外部视图但我无法发送form Data
。
答案 0 :(得分: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);
答案 1 :(得分:0)
HttpResponseMessage
不是我真正想要的。我还需要重定向。
所以我使用了 javascript / jquery 。
我创建了两个视图
从第一个视图发布到我的控制器,然后从控制器操作中调用重定向视图
return view("redirectView", model);
在重定向视图中,我使用隐藏输入创建了表单。
@HiddenFor(m=>m.SomeValue)
然后在页面加载时,我使用 javascript 提交表单。
$("form#formID").submit();
这对我现在很有用。 还要感谢Kambiz让我理解这个问题。