2012-06-12 2 views
1

잘 내 자신의 사용자 지정 컨트롤 익스텐더를 작성하려고 메신저하지만 당신은 빈 클래스가asp.net ajaxtoolkit 사용자 정의 제어 확장

다음

난 자바 스크립트가 동작하지 않습니다 :

Imports System.ComponentModel 
Imports AjaxControlToolkit 
Imports System.Web.UI 
Imports System.Web.UI.WebControls 


<Assembly: System.Web.UI.WebResource("GuiExtensions.PrintButtonBehavior.js", "text/javascript")> 

<Designer(GetType(PrintButtonExtenderDesigner))> 
<ClientScriptResource("Sys.Extended.UI.PrintButtonExtender", "GuiExtensions.PrintButtonBehavior.js")> 
<TargetControlType(GetType(IButtonControl))> _ 
Public Class PrintButtonExtender 
    Inherits ExtenderControlBase 


End Class 

그리고 여기를 당신은 자바 스크립트가 있습니다

Type.registerNamespace('Sys.Extended.UI'); 
Sys.Extended.UI.PrintButtonExtender = function (element) { 
    Sys.Extended.UI.PrintButtonExtender.initializeBase(this, [element]); 
} 

Sys.Extended.UI.PrintButtonExtender.prototype = { 
    initialize: function() { 
     Sys.Extended.UI.PrintButtonExtender.callBaseMethod(this, 'initialize'); 
     var element = this.get_element(); 
     this._clickHandler = Function.createDelegate(this, this._onClick); 
     $addHandler(element, "click", this._clickHandler); 
    }, 

    dispose: function() { 

     $removeHandler(this.get_element(), "click", this._clickHandler); 
     this._clickHandler = null; 


     Sys.Extended.UI.PrintButtonExtender.callBaseMethod(this, 'dispose'); 
    }, 

    _onClick: function() { 
     alert("Test"); 
     return false; 
    } 
} 

Sys.Extended.UI.PrintButtonExtender.registerClass('Sys.Extended.UI.PrintButtonExtender', Sys.Extended.UI.BehaviorBase); 

여기서 문제가 _onClick가 어떤 하나의 버튼을 클릭하면 내가 ... 내가 있다는 것을 확인하는 것으로 익스텐더를 할당 호출되지 않습니다이다 "this.get_element();" 올바른 요소를 반환하지만 실행하려면 _onClick 함수를 얻는 운이 없어.

지금까지 나는 codeplex에서 소스를 보았지만 성공하지 못했습니다.

답변

1

변경 유형 this._onClick

this._clickHandler = Function.createDelegate (이, this._onClick);

this._clickHandler = Function.createDelegate (이, this._clickCallback); 이 결과 :

+0

이 일을 얻을 완전히 혼란 메신저 것이다

희망은, "_onClick는"작동하지 않는 이유를 알 수 있습니까? – Peter