结果什么也没发生,window.onload事件已过,除非你刷新(可你不想刷新), 不然没人帮你触发。
谁来触发?微软帮我们准备好了。你要的大概就是这个了,数据更新前后都 是一个事件触发。我们可以围绕着这两个事件为控件做点事情。这个状态适合于 数据取到后就立马触发的需要。
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 + ' processing');
}
function EndRequestHandler(sender, args)
{
ActivateAlertDiv('hidden', 'AlertDiv', '');
}
function ActivateAlertDiv(visstring, elem, msg)
{
var adiv = $get(elem);
adiv.style.visibility = visstring;
adiv.innerHTML = msg;
}
其他的话我们也可以更改控件属性,就如加个onclick事件什么的都可以
五.另类解决方法
此方法比较的绝,但用起来比较的爽。UpdatePanel之所以无法获取到脚本数 据,是因为其获取范围还不够。。。接着的想法是:
照样无刷新取数据,但取回来的数据跟Postback回来的数据一样。
可能有人说会比较耗性能,那都是相对的。不过也是一个很好的想法。 Telerik公司的RadAjaxPanel就是这么实现的,有兴趣的可以下载一个用用
漏掉的请大家继续补充,这个问题比较的普遍,希望对大家有帮助。