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

标签 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,参数就会消失。如果我返回一个 ContentResult 并将响应中的 html 字符串作为参数,则会显示该站点但没有 css 样式。 css 是相对链接的,本地部署的 mvc 应用程序正在查看 localhost:port/site.css 以获取资源。

提前致谢

最佳答案

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

我在我的 Razor 模板中创建了另一个表单

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

将我的所有参数作为 HtmlHelpers 的 Html.Hidden 字段

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

具有来 self 的模型的绑定(bind)值。

表单通过 JavaScript 提交。

问候

关于c# - 传递 HttpPost 参数时导航到外部 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20608085/

相关文章:

asp.net-mvc - 如何将我的操作重定向到网站的根目录?

c# - 如何正确地将数据URL格式的文件保存到IsolatedStorage

C# 的默认关键字在 C++ 中是否等效?

c# - 使用 C# 从 BitmapData 裁剪区域

asp.net - 发送 IEnumerable<T> 时对 EditorTemplate 进行客户端不显眼的验证

c# - 在 ASP.NET RadioButtonList 中向 LI 添加类

asp.net-mvc - 为什么我不能在 MVC6 中添加对普通类库的引用

c# - .net 中的垃圾收集器是系统范围的还是应用程序范围的?

c# - 在 Umbraco 中创建自定义数据类型

c# - 模型未绑定(bind)到将 Null 作为值传递的操作