代码之家  ›  专栏  ›  技术社区  ›  Rohan West

ASP.NET AJAX

  •  2
  • Rohan West  · 技术社区  · 16 年前

    我有一个自定义控件,它有以下原型。

    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方法向服务器引发回发事件?

    干杯

    罗翰

    1 回复  |  直到 14 年前
        1
  •  5
  •   AdamB    16 年前

    您可以使用uu doPostback方法进行此操作,其签名为:

    function __doPostBack(eventTarget, eventArgument)
    

    所以它是沿着以下几条线的:

    __doPostBack(this.get_element().id, 0);
    

    或者,如果需要,您可以选择将参数与事件一起传递。