[英]How to put loading image when something is processing?
我有页面,当我们点击创建按钮时,它发送网页请求获取所有链接但是意味着虽然需要一些时间才能使所有链接正常工作,所以当时我想放置图像加载
Button ID="btnRender" runat="server" Text="Page Render" OnClick="btnRender_Click" />
<asp:Button ID="btn_submit" runat="server" Text="Submit" OnClientClick="javascript:finda();" />
<asp:Button ID="btn_createlink" runat="server" Text="Create link" OnClick="btn_createlink_Click" />
我想在用户点击图片或文本时出现btn_createlink_Click“按钮
没有Ajax工具:
这将在按钮单击时调用加载图像并在页面加载完成时隐藏图像。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function ShowProgressBar() {
document.getElementById('dvProgressBar').style.visibility = 'visible';
}
function HideProgressBar() {
document.getElementById('dvProgressBar').style.visibility = "hidden";
}
</script>
</head>
<body onload="javascript:HideProgressBar()" >
<form id="form1" runat="server">
<div>
<div style="float:left;">
<asp:Button ID="btn_createlink" runat="server" Text="Create link" OnClick="btn_createlink_Click" OnClientClick="javascript:ShowProgressBar()" />
</div>
<div ID="dvProgressBar" style="float:left;visibility: hidden;" >
<img src="/images/progress_bar.gif" /> resolving address, please wait...
</div>
<br style="clear:both" />
</div>
</form>
</body>
</html>
您可以借助使用BackgroundWorker组件的多线程来实现这一点。 看看使用Backgroundworker进行多线程处理
Backgroundworker C#backgroundworker
您可以在_Dowork方法中调用loading.gif图像。 希望这可以帮助。
编辑:
你可能想看看HttpResponse.Flush
强制将所有当前缓冲的输出发送到客户端。 在请求处理期间可以多次调用Flush方法。
请参阅以下链接: HttpResponse.Flush方法
您可以显示加载图像,并在每X个加载的链接中调用此方法。
旧:
由于问题是缺少信息,我将假设您正在进行Ajax调用,以便从服务器获取链接集合并更新表。
我建议你使用jQuery并在SO上按照前面的答案,以便在发出请求时显示动画加载微调器,并在完成时隐藏它。
请参阅链接: Jquery Ajax加载图像
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.