以编程方式在网页上添加可点击图像
Programmatically Adding Clickable Image on Web Page
我有一个帮助按钮,上面有我在整个项目中使用的特殊图像。大多数时候,我可以将它添加到设计视图中:
<img alt="" src="Images/help.jpg" onclick="click_help('foo', 'bar')" class="myHelpClass" style="height: 20px; width: 33px" />
我将在页面底部有一个 javascript 脚本来处理 click_help
。这部分的一切都按预期工作。
但是,现在我有一个动态创建的 table 动态单元格,我需要向其中一个单元格添加一个帮助按钮。到目前为止,我有这个:
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 代码肯定有效)?
如何使用动态创建的控件获得所需的功能?
它在设计视图中有效,因为添加 类 和 onclick 事件是基本的 HTML 标记,但是这些不是 [=17] 中相应 HtmlControls.HtmlImage
对象类型的属性=].
对于您想要添加的任何尚未成为对象成员的属性,您可以简单地使用 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)
我有一个帮助按钮,上面有我在整个项目中使用的特殊图像。大多数时候,我可以将它添加到设计视图中:
<img alt="" src="Images/help.jpg" onclick="click_help('foo', 'bar')" class="myHelpClass" style="height: 20px; width: 33px" />
我将在页面底部有一个 javascript 脚本来处理 click_help
。这部分的一切都按预期工作。
但是,现在我有一个动态创建的 table 动态单元格,我需要向其中一个单元格添加一个帮助按钮。到目前为止,我有这个:
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 代码肯定有效)?
如何使用动态创建的控件获得所需的功能?
它在设计视图中有效,因为添加 类 和 onclick 事件是基本的 HTML 标记,但是这些不是 [=17] 中相应 HtmlControls.HtmlImage
对象类型的属性=].
对于您想要添加的任何尚未成为对象成员的属性,您可以简单地使用 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)