2017-02-01 111 views
0

我有一個幫助按鈕,其中包含我在整個項目中使用的特殊圖像。大多數時候,我可以只是添加它在設計視圖:以編程方式在網頁上添加可點擊圖像

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

,我將不得不在頁面底部的的JavaScript腳本來處理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標記,但是這些不是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

相關問題