2017-02-01 2 views
0

У меня есть кнопка справки со специальным изображением, которое я использую во всем моем проекте. Большая часть времени, я могу просто добавить его в режиме конструктора с:Программно добавление кликабельного изображения на веб-страницу

<img alt="" src="Images/help.jpg" onclick="click_help('foo', 'bar')" class="myHelpClass" style="height: 20px; width: 33px" /> 

и я буду иметь яваскрипт сценария в нижней части страницы, чтобы справиться с click_help. Все в этой части работает по назначению.

Теперь у меня есть динамически созданная таблица с динамическими ячейками, и мне нужно добавить кнопку справки в одну из этих ячеек. До сих пор у меня есть это:

Dim help As New HtmlControls.HtmlImage 
    help.Src = "Images/help.jpg" 
    help.class = "myHelpClass" 
    help.Height = 20 
    help.Width = 33 
    AddHandler help.onClick, AddressOf helpClicked 
    cell.Controls.Add(help) 

Это проливает 2 ошибки, хотя:

'class' is not a member of 'System.Web.UI.HtmlControls.HtmlImage'. 
'onClick' is not an event of 'System.Web.UI.HtmlControls.HtmlImage'. 

Я посмотрел через иерархию на MSDN, и, похоже, ни class, ни onClick появляться в любом месте.

Так почему же линия из проектного представления выше не вызывает ошибок (на самом деле, они полностью функциональны, как я уже упоминал выше - код onClick определенно работает)?

Как получить желаемую функциональность с помощью динамически созданного элемента управления?

ответ

1

Он работает в дизайне, потому что добавление классов и событий onclick является основной разметкой HTML, однако это не свойства соответствующего типа объекта HtmlControls.HtmlImage в VB.Net.

Для любых атрибутов, которые вы хотите добавить, что это уже не члены объекта, вы можете просто использовать myElement.Attributes.Add("attribute-name", "attribute value")

Dim help As New HtmlControls.HtmlImage 
help.Src = "Images/help.jpg" 
help.Height = 20 
help.Width = 33 
help.Attributes.Add("class","myHelpClass") 
help.Attributes.Add("onclick","click_help('foo', 'bar');") 
cell.Controls.Add(help) 
+0

Спасибо за биты «основной HTML разметка», я не знаю, что! – GeneralMike

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