【发布时间】:2008-11-19 03:51:14
【问题描述】:
这个问题和我之前的问题ASP.NET AJAX直接相关
是否可以异步执行回发?我在页面上有多个 CustomTextbox 控件,当我回发时我想更新表单上的另一个控件。
如果我在第一次发回一个需要几秒钟才能完成的过程后将所有控件放在更新程序面板中,那么我对使用其原始值呈现的其他控件所做的任何更改。
知道如何解决这个问题吗?
Type.registerNamespace('Demo');
Demo.CustomTextBox = function(element) {
Demo.CustomTextBox.initializeBase(this, [element]);
}
Demo.CustomTextBox.prototype = {
initialize: function() {
Demo.CustomTextBox.callBaseMethod(this, 'initialize');
this._onblurHandler = Function.createDelegate(this, this._onBlur);
$addHandlers(this.get_element(),
{
'blur': this._onBlur
},
this);
},
dispose: function() {
$clearHandlers(this.get_element());
Demo.CustomTextBox.callBaseMethod(this, 'dispose');
},
_onBlur: function(e) {
if (this.get_element() && !this.get_element().disabled) {
/* Cridit to AdamB for this line of code */
__doPostBack(this.get_element().id, 0);
}
}
}
Demo.CustomTextBox.registerClass('Demo.CustomTextBox', Sys.UI.Control);
if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
【问题讨论】: