javascript完美的双触发事件
C#基于B/S模式的web开发中,我在服务器端调用了服务器的的一个应用程序,但这个应用程序在执行的时候特别的缓慢,这时用户通过web浏览时,点击发现页面像死机一样。这时除了试试缩短服务器调用应用程序的时间外,另外的一个办法就是在页面上给客户温馨的提醒,以示意让客户耐心等待。但在这时又会遇到这样的问题,我所用的是服务器控件,我在点击“Button”按钮触发事件时,服务器首先是要调用服务器自身的应用程序,当应用程序执行完毕以后,再把数据返回到客户端,这样就会造成在客户端页面上无任何提示,而程序执行完以后又会出现等待的提示,这样也就无法达到真正提示的效果。
在这种情况下我想到了javascript脚本语言基于客户端的完美应用。先介绍一下javascript , JavaScript 是一种解释性编程语言。其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户端由浏览器解释执行。JavaScript 是用于创建嵌入HTML 文档的脚本的。这些脚本可以控制文档的布局,还可以定义处理用户事件的函数。因此,JavaScript可以看成是HTML 的扩展。
这样一来,我就可以利用javascript首先在客户端创建一个提示信息,再触发服务器端的应用程序,这样便是得到了所谓的双触发事件。这样问题就可以得到解决了。下面我贴一下具体的代码:
<head id="Head1" runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function addFile()
{
var filebutton = '<br><br><input id="Text1" type="text" style="font-size:12pt;"value="由于文件容量过大,此操作可能需要较长时间,请耐心等待>>>>"class="greenButtonCss" size="9pt" />';
document.getElementById('FileList').insertAdjacentHTML("beforeEnd", filebutton);
document.getElementById("<%= this.Button3.ClientID %>").click(); ;
}
</script>
</head>
<body>
<form id="form1" runat="server">
............................
<asp:Button ID="Button3" runat="server" Text="正式备份" onclick="Button3_Click" style="display:none" />
<input id="Button2" type="button" value="文件备份" onclick="addFile()" /><br />
<p id="FileList">................新增加的按钮的位置在这..............
</p>
...........................
</form>
</body>
</html>
这样在客户端在该页面进行操作时就会得到温馨提示的效果,而自己程序的功能也能实现。所以有时候搞开发设计时多从用户的角度考虑一下,虽然对于开发人员来说可能会繁琐一点,但真正得到的是技术的提高,是解决问题的多条途径。所以作为一个软件开发人员,真的不要怕繁琐,更不能怕出错,多尝试,少抱怨!
不学则无术