使用后台代码中的 Post 方法重定向到另一个页面

Posted

技术标签:

【中文标题】使用后台代码中的 Post 方法重定向到另一个页面【英文标题】:Redirect to another page using Post method from Code behind 【发布时间】:2011-01-16 13:30:14 【问题描述】:

我想实现支付服务。我将在后面的代码中创建一些值,然后使用 post 方法将这些值发布到支付网关,并且用户必须重定向到该页面。

我不能使用表单操作,因为我必须创建一些值并将一些东西保存在 db 中的代码后面。

我该如何实现呢? 如果我可以将数据发布到我的应用程序的另一个页面并且可以通过编程方式提交该页面,它可能会对我有所帮助。

谢谢

【问题讨论】:

【参考方案1】:
string url = "3rd Party Url";

StringBuilder postData = new StringBuilder();

postData.Append("first_name=" + HttpUtility.UrlEncode(txtFirstName.Text) + "&");
postData.Append("last_name=" + HttpUtility.UrlEncode(txtLastName.Text));

//ETC for all Form Elements

// Now to Send Data.
StreamWriter writer = null;

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";                        
request.ContentLength = postData.ToString().Length;
try

    writer = new StreamWriter(request.GetRequestStream());
    writer.Write(postData.ToString());

finally

    if (writer != null)
        writer.Close();


Response.Redirect("NewPage");

看看这张海报

https://***.com/questions/46582/response-redirect-with-post-instead-of-get

【讨论】:

我正在实现相同的 Cashu,但在 response.write 期间它显示以下错误:底层连接已关闭:连接意外关闭。我还需要将其重定向到 Cashu 页面 这里面的“新页面”是什么?? 所以这个解决方案可以使用参数进入“NewPage”。我还尝试在目标网站中设置会话 cookie(以便登录用户),但由于某种原因,cookie 似乎没有设置。例如。站点 A POST 到站点 B。在站点 B 内部,我正在尝试设置 FormsAuthentication cookie。有什么想法吗?

以上是关于使用后台代码中的 Post 方法重定向到另一个页面的主要内容,如果未能解决你的问题,请参考以下文章

下载文件并通过 ajax 将其重定向到另一个页面

使用 JavaScript/jQuery 重定向到 ASP.NET MVC 中的另一个页面

重定向问题

验证注册表中的数据后,重定向到另一个页面以登录

将 POST 请求从一个 REST API 转发/重定向到另一个

从post方法获取数据后如何重定向