2008-10-09 2 views
4

У меня есть страница ASP.NET, которая вытягивает набор изображений из таблицы базы данных и использует перечислитель, просматривает их все и отображает.Добавление события click к кнопке для запуска javascript через VB.NET

Все это происходит в коде (VB.NET), где код добавляет местозаполнитель и некоторые элементы управления внутри таблиц (таблицы внутри заполнителя).

Я добавил кнопку к этому заполнителю (внутри ячейки таблицы), все программно, но как я могу добавить событие нажатия кнопки на кнопку программно? Я хочу запустить javascript (lightbox), который показывает большой предварительный просмотр изображения (это работает, когда пользователь нажимает небольшое изображение, которое вызывает строковую гиперссылку на код, указывающий на javascript).

ответ

7

Вы можете использовать команду OnClientClick для вызова javascript на стороне клиента. Если кнопка была названа btnMyButton, написать свой код следующим образом:

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

используя вернуть ложь в конце обеспечит кнопки не вызывает запись обратно на страницу. замените javascript тем, что вы хотели сделать.

Альтернативой aboves будет

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

URL-адрес должен быть указан. – Tomalak 2008-10-09 15:52:40

+0

хорошее место спасибо! обновлено – WebDude 2008-10-09 15:56:42

1

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

, что это С #, но я думаю, что VB.NET будет очень похожи.

2

Предпочтительный метод .NET Framework для добавления атрибута (например, OnClick) к WebControl является:

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

Вы можете также добавить событие OnClick, когда другое событие вызывается (например, DataBound) :

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 

Надеюсь, это поможет!

Смежные вопросы