Добавление события click к кнопке для запуска javascript через VB.NET

У меня есть страница ASP.NET, которая извлекает набор изображений из таблицы базы данных и с помощью перечислителя просматривает их все и затем отображает.

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

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


person Community    schedule 09.10.2008    source источник


Ответы (3)


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

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

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

Альтернативой вышеперечисленному может быть

btnMyButton.Attributes.Add("onclick", "window.open('http://www.myimage.com'); return false;";
person WebDude    schedule 09.10.2008
comment
URL-адрес необходимо указывать в кавычках. - person Tomalak; 09.10.2008

Предпочтительный метод .NET Framework для добавления атрибута (например, onClick) в веб-элемент управления:

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

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

person Ed Altorfer    schedule 09.10.2008

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

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

person Ryan    schedule 09.10.2008