我想使用post方法将用户重定向到asp.net核心中的付款页面。
我是在asp.net中这样做的,
public void Post()
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Write("<html><head>");
HttpContext.Current.Response.Write(string.Format("</head><body onload=\"document.{0}.submit()\">", m_FormName));
HttpContext.Current.Response.Write(string.Format("<form name=\"{0}\" method=\"{1}\" action=\"{2}\" >", m_FormName, m_Method, m_Url));
for (int i = 0; i < Inputs.Keys.Count; i++)
{
HttpContext.Current.Response.Write(string.Format("<input name=\"{0}\" type=\"hidden\" value=\"{1}\">", Inputs.Keys[i], Inputs[Inputs.Keys[i]]));
}
HttpContext.Current.Response.Write("</form>");
HttpContext.Current.Response.Write("</body></html>");
}
我应该使用:
HttpContext.Response.WriteAsync
如果是的话,如果等待那么多行写入,它将如何工作。
还有更好的方法吗?
答案 0 :(得分:0)
您想做的事情是不可能的。无法使客户端发出POST。您不能让客户端执行任何操作。您可以建议,他们要求另一个URL(重定向),但是是否实际执行此操作取决于客户端,并且取决于客户端何时以及是否这样做,将通过GET来请求它
启动这样的流程的唯一方法是向用户呈现一个带有提交按钮的HTML表单,并向用户显示您希望他们开始该流程的位置的操作。然后在客户端上单击该按钮。
答案 1 :(得分:0)
您可以使用状态码为308的重定向,我认为这个答案是最好的'Redirect to URL with POST method in Asp.Net Core'