2008-10-09 4 views
4

데이터베이스 테이블에서 이미지 세트를 가져와 열거자를 사용하는 ASP.NET 페이지가있어 모두 표시 한 다음 표시합니다.버튼에 click 이벤트를 추가하여 VB.NET을 통해 javacript를 실행합니다.

이 모든 것은 codebehind (VB.NET)에서 발생합니다. 코드에서 자리 표시 자 및 일부 컨트롤 (자리 표시 자 안의 테이블)이 표 안에 추가됩니다.

프로그래밍 방식으로이 자리 표시 자에 버튼을 추가했는데 어떻게 프로그래밍 방식으로 버튼에 클릭 이벤트를 추가 할 수 있습니까? 나는 이미지의 큰 미리보기를 보여주는 자바 스크립트 (라이트 박스)를 실행하고 싶다. (자바 스크립트를 가리키는 코드에서 문자열 하이퍼 링크를 호출하는 작은 이미지를 클릭 할 때 작동한다.)

답변

14

cmdMyButton.attributes.add("onclick", "alert('hello');")?

7

OnClientClick 명령을 사용하여 클라이언트 측 javascript를 호출 할 수 있습니다. 버튼을 보장 끝에 false를 돌려 사용

btnMyButton.OnClientClick = "window.open('http://www.myimage.com'); return false;"; 

다시 페이지에 게시가 발생하지 않습니다 : 당신의 버튼을 btnMyButton 호출 된 경우에는 다음과 같이 , 당신의 코드를 작성합니다. 자바 스크립트를 원하는 것으로 바꿉니다.

aboves에 대한 대안는 C#의

btnMyButton.Attributes.Add("onclick", "window.open('http://www.myimage.com'); return false;"; 
+0

URL을 따옴표로 묶어야합니다. – Tomalak

+0

좋은 점 덕분에! 업데이트 된 – WebDude

1

button.Attributes.Add("onclick", "javascript:fireLightBox()")

될 것이라고하지만 난 VB.NET 꽤 유사 할 것이라고 생각합니다.

+0

올바른지, 정확히 C# 및 vb와 동일합니다. – WebDude

2

webcontrol에 속성 (예를 들어, 온 클릭)를 추가 할 수있는 .NET Framework의 기본 방법은 다음과 같습니다

control.Attributes.Add("onclick", "javascript:DoSomething('" + control.Value + "')") 

또한 onclick 이벤트를 추가 할 수 있습니다 또 다른 이벤트가 발생하는 경우 (예를 들어, 데이터 바인딩) :

Private Sub ctlControlName_ActionName(ByVal sender As Object, ByVal e As System.EventArgs) 
     Handles ctlControlName.ActionName 
Dim control As ControlType = DirectCast(sender, ControlType) 
control.Attributes.Add("onclick", "javascript:DoSomething('" + control.Value + "')") 
End Sub 

희망이 있습니다.

관련 문제