从我的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");
由于
答案 0 :(得分:0)
Response.Redirect导致ThreadAbourException
向客户端发送http 302响应。
它用于立即重定向。
您应该使用元标记向用户显示消息,然后重定向。
<meta http-equiv="refresh" content="10;URL=http://mysite/PremiumPayment/InvoiceSearch.aspx" />
这会在10秒后将用户重定向到新页面。