C# 我们可以调用2次response.redirect以打开具有不同url的不同页面吗?

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")) {

我正在开发c#程序,将在两个选项卡中显示两个报告(crystal report)。为此,我尝试了response.redirect,但它只适用于第一个response.redirect。这不是第二个回答。重定向…有人知道如何解决这个问题吗?下面是我的代码:

                    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变量写入。