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

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

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

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

谢谢

【问题讨论】:

    标签: asp.net code-behind


    【解决方案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");
    

    看看这张海报

    【讨论】:

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