如何生成并发布到页面然后重定向到另一个页面

时间:2012-08-24 02:12:22

标签: asp.net

从我的asp.net页面我使用System.Web.HttpContext.Current.Response.Write生成一个页面。完成后,我想重定向到另一个页面。它不起作用。如果我在最后有Response.Redirect,那么它会立即重定向而不会产生页面。部分代码如下所示:

string targetUrl = ConfigurationManager.AppSettings["URL"].ToString();


System.Web.HttpContext.Current.Response.Write(
"<form name='newForm' target='_blank' method=post action=" + targetUrl + " >");

System.Web.HttpContext.Current.Response.Write(
string.Format("<input type=text name=\"txtAcctNumber\" value=\"{0}\">",
                                  ViewState["GroupNumber"].ToString()));

System.Web.HttpContext.Current.Response.Write(
 string.Format("<input type=text name=\"txtAmountDue\" value=\"{0}\">",       txtAmountDue.Text));

 System.Web.HttpContext.Current.Response.Write("</form>");
 System.Web.HttpContext.Current.Response.Write("</body>");

 Response.Write("<SCRIPT LANGUAGE='JavaScript'>document.forms[0].submit();</SCRIPT>");
 Response.Clear();
 Response.Redirect("~/PremiumPayment/InvoiceSearch.aspx");

由于

1 个答案:

答案 0 :(得分:0)

Response.Redirect导致ThreadAbourException向客户端发送http 302响应。 它用于立即重定向。

您应该使用元标记向用户显示消息,然后重定向。

<meta http-equiv="refresh" content="10;URL=http://mysite/PremiumPayment/InvoiceSearch.aspx" />

这会在10秒后将用户重定向到新页面。