如何禁用页面并在Asp.net网站上显示正在处理的文本或正在加载

时间:2011-10-31 11:01:57

标签: c# asp.net loading pageload

我调用一种方法将电子邮件发送到用户ID并重定向到同一页面。由于服务器发送电子邮件所用的时间很长,因此页面显示为没有单击发送按钮。由于网站没有回复。我想显示加载图像或其他东西,以显示服务器正在处理请求。我怎么能这样做

3 个答案:

答案 0 :(得分:3)

您可以使用UpdateProgress控件

http://msdn.microsoft.com/en-us/library/bb398821.aspx

(甚至更好:在后台异步发送电子邮件)

答案 1 :(得分:3)

您可以使用UpdateProgress控件(如其他答案所述)或简单的jQuery。

jQuery示例:

$('#my-button-id'').click(function(){
   $('#my-button-id').hide();
   $('#my-loading-image-id').show();
});

如果操作未正确完成,请记住重新启用该按钮,否则用户将无法再次尝试。

答案 2 :(得分:2)

我自己并不喜欢使用UpdateProgress,但之前已经看过它了。

你需要有一个GIF动画,每当页面繁忙时,更新进度都会显示。

        <asp:UpdateProgress ID="UpdateProgress1" runat="server">
            <ProgressTemplate>
                <div class="">
                    Processing Please Wait...
                    <img runat="server" id="ajaxLoader" src="~/images/loadinfo.net.gif" alt="loading" /></div>
                <div class="" style="height: 10px;">
                </div>
            </ProgressTemplate>
        </asp:UpdateProgress>

关于实际禁用该页面,我不认为可以这样做。