C# 在web应用程序中的线程内时无法弹出

C# 在web应用程序中的线程内时无法弹出,c#,asp.net,multithreading,radwindow,C#,Asp.net,Multithreading,Radwindow,按钮点击。CS代码 这是按钮点击,它会做检查,如果一切正常。将启动线程来执行打印过程 protected void btnPrint_Click(object sender, EventArgs e) { if (SocketPrintHelper.PingIPAddress(IPAddress, 3)) { printQueue = printing.PrintRFIDPreparation(set, int.Parse(com

按钮点击。CS代码

这是按钮点击,它会做检查,如果一切正常。将启动线程来执行打印过程

protected void btnPrint_Click(object sender, EventArgs e)
    {
        if (SocketPrintHelper.PingIPAddress(IPAddress, 3))
        {
             printQueue = printing.PrintRFIDPreparation(set, int.Parse(comboPrinter.SelectedValue), int.Parse(txtQTY.Text), 
             DataLists = new Queue<BusinessLayer.Models.PrintJob>(printQueue);

             if (DataLists.Count() > 0)
             {

                 t1 = new Thread(PrintFunction);
                 t1.IsBackground = true;
                 t1.Start();
                 t1.Name = "PrintThread";
                 lblError.Text = "Printing process is running....";
             }
             else
             {
                 lblError.Text = "No record found.";
             }

        }

    }
protectedvoid btnPrint\u单击(对象发送方,事件参数e)
{
if(SocketPrintHelper.PingIPAddress(IPAddress,3))
{
printQueue=printing.PrintRfidPrepare(set,int.Parse(comboPrinter.SelectedValue),int.Parse(txtQTY.Text),
数据列表=新队列(打印队列);
如果(DataLists.Count()>0)
{
t1=新线程(打印函数);
t1.IsBackground=true;
t1.Start();
t1.Name=“PrintThread”;
lblError.Text=“打印过程正在运行…”;
}
其他的
{
lblError.Text=“未找到任何记录。”;
}
}
}
线程函数.CS代码

这是线程函数,每条记录将重试3次,如果3次失败,将弹出RadWindow,询问用户是否需要重试或取消进程。但是,添加此线程后,RadWindow无法弹出

  private void PrintFunction()
    {

        try
        {

            if (SocketPrintHelper.PingIPAddress(printer.PrinterIP, 3))
            {
                if (DataLists.Count() > 0)
                {
                        foreach (var data in DataLists.Where(x => x.printed != true).OrderBy(x => x.ID))
                        {
                            byte[] byReceived = null;
                            bool retryFail = false;
                            for (int i = 1; i <= 3; i++)
                            {
                                //Do process
                                
                                
                                retryFail == true;

                            }


                            if (retryFail == true)
                            {

                                string script = "function f(){openRadWindow2(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);";
                                ScriptManager.RegisterStartupScript(Page, GetType(), "key", script, true);
                                break;
                            }
                            
                        }
                }
                else
                {
                    lblError.Text = "No record found.";
                }
            }

        }
        catch (Exception ex)
        {
        }
    }
private void打印函数()
{
尝试
{
if(SocketPrintHelper.pingIP地址(printer.PrinterIP,3))
{
如果(DataLists.Count()>0)
{
foreach(数据列表中的var数据。其中(x=>x.printed!=true)。OrderBy(x=>x.ID))
{
字节[]byReceived=null;
bool-retryFail=false;
对于(int i=1;i
 <telerik:RadWindow ID="confirmWindow" runat="server" VisibleTitlebar="true" VisibleStatusbar="false"
    Modal="true" Behaviors="None" Height="200px" Width="280px" Font-Bold="True" OnClientShow="true"  Skin="Metro" >
        <ContentTemplate>
            <div style="padding-left: 30px; padding-top: 20px; width: 200px; float: left;">
                <div style="text-align:center;color:red" title="Print Error!">
                    <asp:Label ID="lblConfirm" Font-Size="17px" Text="Print/encode RFID tag 3 times fail. Do you want retry ?"  runat="server"></asp:Label>
                </div>
                <br />
                <br />

                <div style="text-align:center">
                        <telerik:RadButton ID="RadButton1" runat="server" Text="Retry" OnClick="ClickRetry"></telerik:RadButton>
                        <telerik:RadButton ID="RadButton2" runat="server" Text="Cancel" OnClick="ClickContinue"></telerik:RadButton>
     
                </div>
       
            </div>
        </ContentTemplate>
    </telerik:RadWindow>



    function openRadWindow2() {
       var radwindow = $find('<%=confirmWindow.ClientID %>');
        radwindow.show();
        //return false;
    }