gpt4 book ai didi

c# - 使用 MVC 4 中的 POST 参数重定向以实现支付网关集成

转载 作者:行者123 更新时间:2023-11-30 16:56:43 25 4
gpt4 key购买 nike

我正在尝试在 Razor 中使用 mvc4 进行支付网关集成。因为我需要调用一个带有预填帖子表单的页面。

使用下面的方法,我正在形成 post 方法表单:

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

foreach (System.Collections.DictionaryEntry key in data)
{

strForm.Append("<input type=\"hidden\" name=\"" + key.Key +
"\" value=\"" + key.Value + "\">");
}

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

在我的 Controller 页面中,我使用必需的参数调用 PreparePostForm,并且我正在接收 POST 请求格式。

[HttpPost]
public ActionResult OrderSummary()
{
string request=PreparePOSTForm("payment URL","hashdata required for payment")
return Redirect(request);
}

但是在重定向时出现以下错误。

Bad Request - Invalid URL

HTTP Error 400. The request URL is invalid.

我在这里缺少处理 POST 请求的东西。谁能帮帮我。

提前致谢。

最佳答案

您不能通过 Redirect 方法发布表单。您可以将生成的表单字符串发送到 View,然后通过 Javascript 发布表单。

public ActionResult OrderSummary()
{
string request=PreparePOSTForm("payment URL","hashdata required for payment")
return View(model:request);
}

并在 OrderSummary View 中:

@model string

@Html.Raw(Model)

<script>
$(function(){
$('form').submit();
})
</script>

关于c# - 使用 MVC 4 中的 POST 参数重定向以实现支付网关集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27577011/

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