ASP.NET POST方法问题

时间:2012-10-21 09:01:38

标签: c# asp.net post back

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

我问这个当我尝试使用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();

导航到目标网址后,我尝试使用浏览器后退按钮,但它无法正常工作。我简直无法导航回来?

这是asp.net的问题还是我错过了什么?

实际上我正在进行支付度假,它需要在POST方法中传递参数

1 个答案:

答案 0 :(得分:0)

您尝试返回,然后返回 - 但上一页是自动制作“回发后”,因此您将移动到您再次访问的页面。

所以后面的工作,你实际上后退 - 你所做的就是你的问题。

正确的方法是“渲染”您在页面的一部分上显示的所有表单,并且输入点击提交,您只需直接提交该表单,而不是制作自动发布的第二页

我知道asp.net只允许一种形式的问题,但有一些替代方案。您可以阅读以下答案:Cross-page posting. Is it a good pratice to use PreviousPage in Asp.net?

现在,因为您说您进行了付款,所以最好是在asp.net的形式之后使用自定义提交表单完全呈现页面。你实际上根本没有使用asp.net表单而只是渲染你的参数,就像你上面那样,你让用户只需点击提交并移动大门。