C# ASP.NET POST方法问题

C# ASP.NET POST方法问题,c#,asp.net,post,back,C#,Asp.net,Post,Back,我最近尝试使用asp.NETPOST方法,并提出了一些问题 当我尝试使用post方法时,我会问这个问题,它不允许我更改表单的操作,并且允许每页只使用一个服务器端表单 我所做的是创建自己的表单控件并在页面上使用它 Response.Clear(); StringBuilder sb = new StringBuilder(); sb.Append("<html>"); sb.AppendFormat(@"<body onload=

我最近尝试使用asp.NETPOST方法,并提出了一些问题

当我尝试使用post方法时,我会问这个问题,它不允许我更改表单的操作,并且允许每页只使用一个服务器端表单

我所做的是创建自己的表单控件并在页面上使用它

Response.Clear();

        StringBuilder sb = new StringBuilder();
        sb.Append("<html>");
        sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
        sb.AppendFormat("<form name='form' action='{0}' method='post'>", "https://test.com.au/Login/Account/Login.aspx");
        sb.AppendFormat("<input type='hidden' name='AP' value='{0}'>", "99");
        // Other params go here
        sb.Append("</form>");
        sb.Append("</body>");
        sb.Append("</html>");

        Response.Write(sb.ToString());

        Response.End();
Response.Clear();
StringBuilder sb=新的StringBuilder();
某人加上(“”);
sb.AppendFormat(@“);
sb.追加格式(“,”https://test.com.au/Login/Account/Login.aspx");
sb.附录格式(“,”99“);
//其他的女人都到这里来了
某人加上(“”);
某人加上(“”);
某人加上(“”);
写(某人写的东西);
Response.End();
导航到目标URL后,我尝试使用浏览器后退按钮,但它不起作用。难道我不能导航到后面

这是asp.net的问题还是我遗漏了什么


事实上,我正在进行一项付款逃逸,它要求参数在POST方法中传递

您尝试返回,然后返回-但上一页是自动生成“POST back”,因此您再次移动到当前页面

因此,后面的工作,你实际上向后移动-所做的是你的问题

正确的方法是在页面的某个部分“呈现”您在那里显示的表单,然后单击“提交”输入,您只需直接提交该表单,而不制作第二个页面,从而自动发布

我知道asp.net只允许一种表单的问题,但是有一些替代方法。您可以阅读此答案,它可能会帮助您:


现在,因为您说您进行了付款逃避,所以最好是在asp.net表单之后,使用自定义提交表单完全呈现页面。实际上,您根本不使用asp.net表单,只需像上面所做的那样呈现您的参数,然后让用户只需单击“提交”按钮并将门移到门口。

对不起,这是asp.net吗?再次抱歉:实际上,您的示例代码是控件吗?即使这是使用C#和ASP.NET编写的,这个问题与ASP.NET无关,而只是关于HTTP POST的工作方式。考虑重新标记它;没有一个标签真正符合这个问题。