Asp.net 延迟回发3秒?

Asp.net 延迟回发3秒?,asp.net,postback,Asp.net,Postback,我有一个usercontrol,它有几个下拉列表和一个按钮,我希望用户单击该按钮(response.redirects取决于DDL中的选择) 现在不是直接重定向,我想显示一个小加载图标3秒钟,然后重定向。。。有人做过类似的事情吗?您可以使用javascript中的setTimeout()函数执行延迟 setTimeout(function() { alert('After 5 seconds.'); }, 5000); 可以使用javascript中的setTimeout()函数执行延迟 se

我有一个usercontrol,它有几个下拉列表和一个按钮,我希望用户单击该按钮(response.redirects取决于DDL中的选择)


现在不是直接重定向,我想显示一个小加载图标3秒钟,然后重定向。。。有人做过类似的事情吗?

您可以使用javascript中的setTimeout()函数执行延迟

setTimeout(function() { alert('After 5 seconds.'); }, 5000);

可以使用javascript中的setTimeout()函数执行延迟

setTimeout(function() { alert('After 5 seconds.'); }, 5000);

您可能需要覆盖Javascript中的一些内容,并使用“setTimeout”延迟加载

<script type="text/javascript" >
    var __handleSubmit = theForm.submit;
    theForm.onsubmit = function() {
        alert('loading'); //Show your message here
        window.setTimeout(function() {
            __handleSubmit();
        }, 3000);
    }
</script>

var\uu handleSubmit=form.submit;
theForm.onsubmit=函数(){
警报('loading');//在此处显示您的消息
setTimeout(函数(){
__handleSubmit();
}, 3000);
}
你可能想多玩一点。。。这可能不适用于所有情况,因为我从未这样做过


如果延迟仅仅是为了“美观”,那么我建议不要这样做——程序员似乎是唯一认为加载条很酷的人:)

您可能需要覆盖Javascript中的一些内容,并使用“setTimeout”来延迟加载

<script type="text/javascript" >
    var __handleSubmit = theForm.submit;
    theForm.onsubmit = function() {
        alert('loading'); //Show your message here
        window.setTimeout(function() {
            __handleSubmit();
        }, 3000);
    }
</script>

var\uu handleSubmit=form.submit;
theForm.onsubmit=函数(){
警报('loading');//在此处显示您的消息
setTimeout(函数(){
__handleSubmit();
}, 3000);
}
你可能想多玩一点。。。这可能不适用于所有情况,因为我从未这样做过


如果延迟仅仅是为了“美观”,为了让它看起来有效,那么我建议不要这样做——程序员似乎是唯一认为加载条很酷的人:)

一个不需要的人为延迟是有点站不住脚的。您可以做的是在提交表单时显示您的throbber。我在上传大型媒体文件的文档上传表单上使用以下内容

<script type="text/javascript" id="PreJavaScript">
    function NUsubmit(){
        document.getElementById("uploadFormInputs").style.display = 'none';
        document.getElementById("progressBar").style.display = 'block';
        return true;
    };
    function init() { document.getElementById("UploadFormObject").onsubmit = NUsubmit; };               

    window.onload = init;
</script>

函数NUsubmit(){
document.getElementById(“uploadFormInputs”).style.display='none';
document.getElementById(“progressBar”).style.display='block';
返回true;
};
函数init(){document.getElementById(“UploadFormObject”).onsubmit=NUsubmit;};
window.onload=init;
如果我没记错的话,在IE的某些版本中,动画gif无法播放,但在IE6+和FireFox中效果很好


这样一来,如果回发速度快,他们就看不到投手,但如果需要一段时间,他们就会看到投手,这会给他们一种发生了什么事情的感觉。

一种不需要的人为延迟是有点站不住脚的。您可以做的是在提交表单时显示您的throbber。我在上传大型媒体文件的文档上传表单上使用以下内容

<script type="text/javascript" id="PreJavaScript">
    function NUsubmit(){
        document.getElementById("uploadFormInputs").style.display = 'none';
        document.getElementById("progressBar").style.display = 'block';
        return true;
    };
    function init() { document.getElementById("UploadFormObject").onsubmit = NUsubmit; };               

    window.onload = init;
</script>

函数NUsubmit(){
document.getElementById(“uploadFormInputs”).style.display='none';
document.getElementById(“progressBar”).style.display='block';
返回true;
};
函数init(){document.getElementById(“UploadFormObject”).onsubmit=NUsubmit;};
window.onload=init;
如果我没记错的话,在IE的某些版本中,动画gif无法播放,但在IE6+和FireFox中效果很好


这样,如果回发很快,他们就看不到跳动的声音,但如果需要一段时间,他们就会看到,这会让他们感觉到有什么事情正在发生。

看起来您应该使用AJAX实现此页面。您可以在页面上放置进度指示器,以提醒用户正在进行长时间运行的进程。

看起来您应该使用AJAX实现此页面。您可以在页面上放置进度指示器,以提醒用户正在进行长时间运行的进程。

我使用

System.Threading.Thread.Sleep(4000);

在回发中,我通过使用

System.Threading.Thread.Sleep(4000);

在回发中

我做过类似的事情吗?不,因为它是弱智。但如果你想这么做,很简单。不要重定向,而是显示加载框并设置一个计时器,在计时器完成时调用您的函数。容易的。但是毫无意义。这是不是让你以后可以“优化”缓慢加载的页面?哈哈。。我知道这很蹩脚,但需要举个例子,我做过这样的事吗?不,因为它是弱智。但如果你想这么做,很简单。不要重定向,而是显示加载框并设置一个计时器,在计时器完成时调用您的函数。容易的。但是毫无意义。这是不是让你以后可以“优化”缓慢加载的页面?哈哈。。我知道它很蹩脚,但需要作为一个例子