最近在用MS Ajax Extensions 1.0,很多页面都涉及到了大数据量的加载,因此需要实现一个数据加载等待对话框,实际就是利用一个Div显示一个滚动的小图片和一小段说明,例如:数据正在加载,请等待...
功能实现的思路很简单,在开始调用数据时显示DIV,完成后隐藏DIV,当然初始时DIV是隐藏的。
为此我们需要为页面中的Sys.WebForms.PageRequestManager注册两个事件,即开始请求和结束请求。
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
而后,分别在两个事件中对DIV进行控制。
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args)
{
var elem = args.get_postBackElement();
ActivateAlertDiv('visible', 'AlertDiv', elem.value + ' 数据正在加载,请稍候。');
}
function EndRequestHandler(sender, args)
{
ActivateAlertDiv('hidden', 'AlertDiv', '');
}
function ActivateAlertDiv(visstring, elem, msg)
{
var adiv = $get(elem);
adiv.style.visibility = visstring;
adiv.innerHTML = msg;
}
当然层你要事先设定好。
<div id="AlertDiv"></div>
这里需要注意一个问题,就是如果这两个事件出错,那么页面将失去无刷新功能。例如,如果找不到这个层,那么页面虽然能够正常加载,显示,但是将不能实现无刷新了。
功能实现的思路很简单,在开始调用数据时显示DIV,完成后隐藏DIV,当然初始时DIV是隐藏的。
为此我们需要为页面中的Sys.WebForms.PageRequestManager注册两个事件,即开始请求和结束请求。
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
而后,分别在两个事件中对DIV进行控制。
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args)
{
var elem = args.get_postBackElement();
ActivateAlertDiv('visible', 'AlertDiv', elem.value + ' 数据正在加载,请稍候。');
}
function EndRequestHandler(sender, args)
{
ActivateAlertDiv('hidden', 'AlertDiv', '');
}
function ActivateAlertDiv(visstring, elem, msg)
{
var adiv = $get(elem);
adiv.style.visibility = visstring;
adiv.innerHTML = msg;
}
当然层你要事先设定好。
<div id="AlertDiv"></div>
这里需要注意一个问题,就是如果这两个事件出错,那么页面将失去无刷新功能。例如,如果找不到这个层,那么页面虽然能够正常加载,显示,但是将不能实现无刷新了。

浙公网安备 33010602011771号