var prm = Sys.WebForms.PageRequestManager.getInstance();
function CancelAsyncPostBack() {
if (prm.get_isInAsyncPostBack()) {
prm.abortPostBack();
}
}
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
var postBackElement;
function InitializeRequest(sender, args) {
if (prm.get_isInAsyncPostBack()) {
args.set_cancel(true);
}
debugger;
postBackElement = args.get_postBackElement();
if (postBackElement.id == 'posttriger') {
$get("UpdateProgress1").style.display= "block";
}
}
function EndRequest(sender, args) {
if (postBackElement.id == 'posttriger') {
$get('UpdateProgress1').style.display = 'none';
}
}
我在子页面中使用以上的代码,通过调试发现一个奇怪的问题,当postBackElement.id 得到的一个值就不是他本身的id了,而是加了很长的一个前缀。比如,ctl00_ContentPlaceHolder1_ctl02_posttriger,当我强行改为postBackElement.id == 'ctl00_ContentPlaceHolder1_ctl02_posttriger'时候,但在执行 $get("UpdateProgress1").style.display= "block"; 的时候,肯定UpdateProgress1的id也给加了前缀,导致了“缺少对象的错误”。各位大侠,可有什么方法解决,分析了一下午终于找到原因,但不知道怎么解决,请帮帮忙,如果我说的不清楚,请再提问。
function CancelAsyncPostBack() {
if (prm.get_isInAsyncPostBack()) {
prm.abortPostBack();
}
}
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
var postBackElement;
function InitializeRequest(sender, args) {
if (prm.get_isInAsyncPostBack()) {
args.set_cancel(true);
}
debugger;
postBackElement = args.get_postBackElement();
if (postBackElement.id == 'posttriger') {
$get("UpdateProgress1").style.display= "block";
}
}
function EndRequest(sender, args) {
if (postBackElement.id == 'posttriger') {
$get('UpdateProgress1').style.display = 'none';
}
}
我在子页面中使用以上的代码,通过调试发现一个奇怪的问题,当postBackElement.id 得到的一个值就不是他本身的id了,而是加了很长的一个前缀。比如,ctl00_ContentPlaceHolder1_ctl02_posttriger,当我强行改为postBackElement.id == 'ctl00_ContentPlaceHolder1_ctl02_posttriger'时候,但在执行 $get("UpdateProgress1").style.display= "block"; 的时候,肯定UpdateProgress1的id也给加了前缀,导致了“缺少对象的错误”。各位大侠,可有什么方法解决,分析了一下午终于找到原因,但不知道怎么解决,请帮帮忙,如果我说的不清楚,请再提问。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货