【问题标题】:accessing HtmlTable inside a placeHolder在 placeHolder 中访问 HtmlTable
【发布时间】:2011-05-16 20:22:33
【问题描述】:
我正在使用一个用 aspx.net 通过 vb 编写的网站。
我有一个 placeHolder,我在这个 PlaceHolder 中创建了一个名称表,每个名称旁边都有一个 HtmlInputCheckBox。
当页面上传时,我在 aspx.vb 文件中执行此操作。
然后,当用户想要发送邮件时,他按下一个按钮,然后我需要访问复选框,而我遇到了问题,Sub 不知道 checkBox 对象。
我很想得到一些帮助,
谢谢!
【问题讨论】:
标签:
asp.net
vb.net
placeholder
【解决方案1】:
我知道您是在动态创建这些复选框?
在这种情况下,将它们存储为类的全局成员,最简单的方法是拥有它们的列表:
List<HtmlInputCheckBox> arrCheckboxes = new List<HtmlInputCheckBox>();
...
...
HtmlInputCheckBox myCheckbox = new HtmlInputCheckBox();
arrCheckboxes.Add(myCheckbox);
...
这是 C#,但应该很容易转换为 VB - 无论如何,您可以访问列表,它应该可以工作。
作为“最后手段”的最坏情况,您可以简单地迭代整个 Request.Form 集合并查找名称与复选框名称匹配的键。
【解决方案2】:
把这个放到程序中...
Dim chkValue1 As New CheckBox
Dim chkValue2 As New CheckBox
'Find the Checkbox Controls in the PlaceHolder and cast them to the checkboxes we just made.
chkValue1 = CType(YourPlaceHolder.FindControl("Checkbox1ControlId"), CheckBox)
chkValue2 = CType(YourPlaceHolder.FindControl("Checkbox2ControlId"), CheckBox)
'Now you can do this...
Dim bolIsValue1Checked As Boolean = chkValue1.Checked