gpt4 book ai didi

c# - 如何重定向 POST 表单提交,就像它最初提交到另一个页面一样?

转载 作者:可可西里 更新时间:2023-11-01 16:28:58 25 4
gpt4 key购买 nike

这是我的场景:

我有一个页面从用户那里收集某些数据。我想要一个用户可以点击的按钮,我希望这个按钮做两件事。

a) 将数据记录到我的数据库中。
b) 将用户重定向到 Paypal 进行付款。

我目前的想法是创建一个中间“处理程序”页面,它将执行 a) 然后将浏览器重定向到 b)。

问题是:我实际上该怎么做 b)? (它是 JS 和 ASP 的某种组合吗?)
我希望它的行为就像数据收集页面直接执行 POST 到 PayPal 一样,但如果这不可能,我欢迎其他建议来实现我的方案。

我使用的后端技术是 ASP.NET。

最佳答案

经过一些更具体的谷歌搜索和测试后,对我有用的解决方案是使用此处链接的代码:

http://www.codeproject.com/KB/aspnet/ASP_NETRedirectAndPost.aspx

As you can see ... we prepare the POST form which is an HTML form that holds the hidden fields of your POSTed data and a script tag which holds the submit operation of the form .. which will be executed immediately upon the postback.

private static String PreparePOSTForm(string url, NameValueCollection data)
{
//Set a name for the form
string formID = "PostForm";
//Build the form using the specified data to be posted.
StringBuilder f = new StringBuilder();
f.Append("<form id=\"" + formID + "\" name=\"" +
formID + "\" action=\"" + url +
"\" method=\"POST\">");

foreach (string key in data)
{
f.Append("<input type=\"hidden\" name=\"" + key +
"\" value=\"" + data[key] + "\">");
}

f.Append("</form>");
//Build the JavaScript which will do the Posting operation.
StringBuilder s = new StringBuilder();
s.Append("<script language="'javascript'">");
s.Append("var v" + formID + " = document." +
formID + ";");
s.Append("v" + formID + ".submit();");
s.Append("</script>");
//Return the form and the script concatenated.
//(The order is important, Form then JavaScript)
return f.ToString() + s.ToString();
}

关于c# - 如何重定向 POST 表单提交,就像它最初提交到另一个页面一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8550807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com