在执行Response.Redirect之前如何显示/隐藏面板

Jee*_*eby 5 c# asp.net redirect response.redirect

我有一个表格,它可以启动Response.Redirect以在完成后下载文件。我还想隐藏表单并在重定向发生之前显示一个“谢谢”面板,但是,似乎asp.net引擎只是在不执行以下代码中的2个任务的情况下进行了重定向:

if (success)
                {
                    lblSuccessMessage.Text = _successMessage;
                    showMessage(true);                        
                }
                else
                {
                    lblSuccessMessage.Text = _failureMessage;
                    showMessage(false);
                }

                if(success)
                    Response.Redirect(_downloadURL); 
Run Code Online (Sandbox Code Playgroud)

知道如何在重定向启动之前强制页面更新吗?

谢谢堆格雷格

And*_*uhl -1

if (success)
                {
                    lblSuccessMessage.Text = _successMessage;
                    showMessage(true);                        
                }
                else
                {
                    lblSuccessMessage.Text = _failureMessage;
                    showMessage(false);
                }

                if(success) {
                    Threading.Thread.Sleep(200)
                    Response.Redirect(_downloadURL);
                }
Run Code Online (Sandbox Code Playgroud)

您可以通过使线程休眠来强制它在重定向之前等待。

最好、最用户友好的选项是让用户通过添加按钮自行继续。例如,您可以执行以下操作:

if (success)
                {
                    lblSuccessMessage.Text = _successMessage + "<br /><INPUT TYPE='button' VALUE='Continue...' onClick='parent.location='" + _downloadURL + "'/>";
                    showMessage(true);                        
                }
                else
                {
                    lblSuccessMessage.Text = _failureMessage;
                    showMessage(false);
                }
Run Code Online (Sandbox Code Playgroud)