传递HttpPost参数时导航到外部URL

时间:2013-12-16 10:05:39

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

在扩展mvc网站时,我要求调用外部联系表单并传递HttpPost参数。

var httpWReq = (HttpWebRequest)WebRequest.Create("url");
var encoding = new ASCIIEncoding();
var postData = CreatePostData();
var data = encoding.GetBytes(postData);

using (var stream = httpWReq.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}

var response = (HttpWebResponse)httpWReq.GetResponse();
var rStream = response.GetResponseStream();

此时我得到了一个响应:a)不同的参数,例如响应中的请求URL和b)来自httpWReq.GetRequestStream()的原始html字符串,其中包含响应页面。 html字符串中隐藏的字段告诉我,我的参数已正确接收。

但现在该如何继续?如果我重定向到url,参数就会消失。如果我从响应作为参数返回带有html字符串的ContentResult,则显示该站点但没有CSS样式。 css是相对链接的,本地部署的mvc应用程序正在查看localhost:port/site.css资源。

提前致谢

1 个答案:

答案 0 :(得分:0)

最后,我为我的问题找到了另一种解决方案。对于那些感兴趣的人:

我在剃刀模板中创建了另一个表单

<form action="external-url.com" name="form_contact" id="form_contact" 
      method="POST" target="blank">

我的所有参数都是HtmlHelpers的Html.Hidden字段

@Html.Hidden("Parametername", Model.ParameterXy)

带有我模型的绑定值。

表单是通过JavaScript提交的。

问候