我用C#编asp.net网页。在一个按钮button1中,有一段代码运行时间较长,于是我想在按钮按下之后,用一个label1来显示一小段字符:label1.text="正在查询中,请稍等...",然后在button1代码执行的最后一行代码上再消去label字符:label1.text="".但运行结果却是没有显示label1的任何代码,我将消去label1字符的代码注销后,发现所有代码都运行完之后,才出现"正在查询中,请稍等..."字样,这是怎么回事呢?我用了ajax+asp.net。
调试欢乐多
{
Label1.Text ="查询中,请稍后...";
//数据库查询及处理代码一大段
Label1.text="";
}
{
Label1.Text ="查询中,请稍后..."; //通俗的说这句代码会被下面的Label1.text="";覆盖
//数据库查询及处理代码一大段
Label1.text="";
}
在界面的代码中先加入如下的javescript代码。
<script type="text/javascript">
function Navigate()
{
document.getElementById('Label3').innerText="查询中,请稍后...";
}
</script>
再在button的动作里加上onclientclick="Navigate()"这一节代码。
这样的作用就是按下按钮后,label3就显示出来了。
在button1_click里面,就不要label1.text="查询中,请稍后...";直接在最后加上label1.text=""。
运行代码后,效果不错。当按下按钮时,label1.text就显示出来了,查询结束后,label的提示信息就没了。这段代码来源于msdn网站上关于onclientclick的例子源码。
{
Label1.Text ="查询中,请稍后...";
//数据库查询及处理代码一大段
Label1.text="";
}
这是不行的,这段代码只在服务器的内存中执行了, 不应反应到IE浏览器中
Label1显示"查询中,请稍后..."
应该用javascript在IE中执行显才行.