У меня есть настраиваемый элемент управления со следующим прототипом.
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) {
alert(this.get_element().value);
}
}
}
Demo.CustomTextBox.registerClass('Demo.CustomTextBox', Sys.UI.Control);
if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
Как я могу вызвать событие обратной отправки на сервер в методе _onBlur?
Ваше здоровье
Рохан



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Для этого вы можете использовать метод __doPostBack, который имеет подпись:
function __doPostBack(eventTarget, eventArgument)
Так что это будет что-то вроде:
__doPostBack(this.get_element().id, 0);
Или вы можете при желании передать аргумент вместе с событием.
Обновление заголовка вопроса для описания вопроса (вместо только ASP.NET Ajax), вероятно, позволит собрать больше просмотров / ответов.