0

012contact.ascx에서 clickhandler(e)의 javascript 함수에서 VB 컨트롤 (예 : deleteevent())을 usercontrol.ascx.vb에서 호출 할 수 있습니다. 변경 내용을 표시하려면 usercontrol이 필요하기 때문에 호출에서 다시 게시이 발생해야합니다.사용자 정의 컨트롤 - VB에서 linkbutton 호출 (사용자 정의 컨트롤 내에서) JavaScript에서 이벤트를 클릭하십시오.

현재 style display : none으로 linkbutton을 사용하고 javascript 함수에서 click 이벤트를 호출하여이 작업을 수행하려고합니다. 그러나 나는 click 이벤트를 호출하는 방법을 모릅니다.

자바 스크립트에서 vb 함수에 값을 전달해야했지만 숨겨진 필드를 사용하여 처리하고 있습니다. VB

감사 :

환경은 asp.net 3.0 언어입니다.

답변

4

확인 JQuery와 함께 코드 숨김 메소드를 호출에 대한이 두 개의 링크 :

Using jQuery to directly call ASP.NET AJAX page methods

Using jQuery to Call ASP.NET AJAX Page Methods

대신 ASCX 방법의 영문 호출해야합니다. beacuse 런타임에 모든 사용자 컨트롤 (ascx)이 페이지 (aspx)에 병합되었습니다.

페이지에 인스턴스가 여러 개인 사용자 정의 컨트롤이있는 경우 매개 변수를 사용하여 각 사용자 정의 컨트롤에서 메서드 컨텍스트를 정의해야합니다. 어쩌면 사용자 정의 컨트롤의 clientID 일 수도 있습니다.

1

이 것은 약간 까다 롭지만 다소 재미 있습니다. 당신이

  • 컨트롤
  • 전화 포스트 백 참조를 위해 포스트 백 참조를 생성 이벤트를 마련하려는 하이퍼 링크를 통해 중,

    1. 가 컨트롤 IPostBackEventHandler를 구현 :

      는 기본적으로, 당신은 할 필요가 또는 뒤에 코드에서

    2. JScript를, 코드를 다시 게시 참조를 처리하고 전화를

      Public Class MyControl 
      Inherits UserControl 
      Implements IPostBackEventHandler 
      
      Public Sub RaisePostBackEvent(ByVal eventArgument As String) Implements System.Web.UI.IPostBackEventHandler.RaisePostBackEvent 
      
          ' Call deleteEvent here 
          DeleteEvent(eventArgument) ' This will contain "SomeArgumentYouWantToPassToDeleteEvent" 
      
      End Sub 
      
      Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 
          Dim cs As ClientScriptManager = Page.ClientScript 
      
          Dim a As New HtmlAnchor() 
          a.ID = "myanchor1" 
          a.InnerText = "Delete Event" 
          a.HRef = cs.GetPostBackClientHyperlink(Me, "SomeArgumentYouWantToPassToDeleteEvent") 
      
          ' You could alternatively construct some jscript and output it. 
      
          Controls.Add(a) 
      
      End Sub 
      End Class 
      

    자세한 내용은 여기를 참조하십시오. ClientScriptManager.GetPostBackEventReference

  • 관련 문제