我目前正在使用AJAX:UpdatePanelAnimationExtender并且我已经在代码中实现了它,目前工作正常但我遇到了使用UpdatePanelAnimationExtender和ASP:Repeater的问题。我一直在搞乱实现它的不同方式,但没有任何方法正常工作......
<小时/> 我试图用codebehind编写它 - 在itemBound内部(完美地生成代码,附加到UPAE但当然在部分回发时被删除)。 我也尝试在aspx中使用它,这也带来了问题。
function pageLoad()
{
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
changedHighlight();
}
function EndRequestHandler(sender, args){
if (args.get_error() == undefined){ changedHighlight(); }
}
function changedHighlight() {
$(document).ready(function() {
$('span,input,option,select').live('change', function() { $(this).effect("highlight", {color: "#44EE22"}, 1500); });
});
}
我必须将它的存储值与新发布的值进行比较,我现在正在处理它。 “更改”似乎也不适用于asp:标签?
答案 0 :(得分:0)
由于每次使用UpdatePanel和DOM重新创建回发问题而导致使用全局var(eh ..)结束(意味着无法使用$ .data()或this.data())。
仅突出显示具有ID的非提交输入和DOM元素。 (否则静态asp:标签将继续闪烁)
var oldVar = [];
function pageLoad()
{
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler)
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
function BeginRequestHandler(sender, args) {
$(document).ready(function() {
oldVar = [];
$('input,select,span').each(function() {
if (this.type != "submit" && this.id != '') oldVar[this.id] = getValue(this);
});
});
}
function EndRequestHandler(sender, args){
$(document).ready(function() {
$('input,select,span').each(function() {
if (this.type != "submit" && this.id != '')
{
if (oldVar[this.id] != getValue(this))
{
$(this).effect('highlight', {color: '#44EE22'}, 3000);
oldVar[this.id] = getValue(this);
}
}
});
});
}
function getValue(control){
if ('value' in control) return control.value;
else if('textContent' in control) return control.textContent;
else if('innerText' in control) return control.innerText;
}