C# 我们可以调用2次response.redirect以打开具有不同url的不同页面吗?
我正在开发c#程序,将在两个选项卡中显示两个报告(crystal report)。为此,我尝试了response.redirect,但它只适用于第一个response.redirect。这不是第二个回答。重定向…有人知道如何解决这个问题吗?下面是我的代码:C# 我们可以调用2次response.redirect以打开具有不同url的不同页面吗?,c#,response.redirect,C#,Response.redirect,我正在开发c#程序,将在两个选项卡中显示两个报告(crystal report)。为此,我尝试了response.redirect,但它只适用于第一个response.redirect。这不是第二个回答。重定向…有人知道如何解决这个问题吗?下面是我的代码: if (Request.QueryString["ProcessName"].ToString().Equals("MyBill")) {
if (Request.QueryString["ProcessName"].ToString().Equals("MyBill"))
{
using (SqlCommand cmd = new SqlCommand("MyBill", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 6000;
cmd.Parameters.Add("@id", SqlDbType.Int);
cmd.Parameters["@id"].Value = Request.QueryString["id"];
cmd.Parameters.Add("@billamount", SqlDbType.Int);
cmd.Parameters["@billamount"].Value = Request.QueryString["billamount"];
cmd.Parameters.Add("@p_displaydocno", SqlDbType.VarChar, 100).Direction = ParameterDirection.Output;
cmd.Parameters.Add("@p_billno_out", SqlDbType.VarChar, 50).Direction = ParameterDirection.Output;
con.Open();
cmd.ExecuteNonQuery();
//Print Bill
string ReportName = "Bill_New.rpt";
string billid = null;
string piping = Convert.ToString(cmd.Parameters["@p_billno_out"].Value);
string audit_no = string.Empty;
string[] strArr = null;
char[] splitchar = { '|' };
strArr = piping.Split(splitchar);
audit_no = strArr[0].Trim();
billid = strArr[1].Trim();
auditno = Convert.ToInt32(audit_no);
string URL = "./Reports/Reports.aspx?ReportName=" + ReportName + "&billid=" + billid;
Response.Redirect(URL);
//Print Receipt
string ReportName2 = "Receipt.rpt";
string DocNoFrom = null;
string DocNoTo = null;
DocNoFrom = Convert.ToString(cmd.Parameters["@p_displaydocno"].Value);
DocNoTo = Convert.ToString(cmd.Parameters["@p_displaydocno"].Value);
string URL2 = "./Reports/Reports.aspx?ReportName=" + ReportName2 + "&DocNoFrom=" + DocNoFrom + "&DocNoTo=" + DocNoTo;
Response.Redirect(URL2);
Cursor.Current = Cursors.AppStarting;
}
con.Close();
}
编辑:然后我尝试用javascript替换response.redirect,是的,它打开了两个选项卡,但出现了这个错误
Response.Write("<script>window.open(URL, '_blank');</script>");
Response.Write("<script>window.open(URL2, '_blank');</script>");
Response.Write(“window.open(URL,_blank');”;
Response.Write(“window.open(URL2,_blank');”;
您不能执行多个响应。在单个流中重定向。您可以使用JavaScript代码使用window.open逐个打开两个不同的URL。并在这些数据上创建crystal报告urls@ChetanRanpariya你有没有在javascript中添加crystal报表的示例?我使用javascript创建并调用url,但遇到了错误您是否定义了javascript变量“url”和“URL2”?我从上面的变量url和URL2中获取值。字符串URL=“./Reports/Reports.aspx?ReportName=“+ReportName+”&billid=“+billid;这些是C#变量,它们无法进入javascript。您要么需要构建写入页面的脚本,要么将它们作为javascript变量写入。