我正在使用通过 vb 用 aspx.net 编写的网站。我有一个 placeHolder,我在这个 PlaceHolder 中创建了一个名称表,每个名称旁边都有一个 HtmlInputCheckBox。当页面上传时,我在 aspx.vb 文件中执行此操作。然后,当用户想要发送邮件时,他按下一个按钮,然后我需要访问复选框,我遇到了这个问题,Sub 不知道 checkBox 对象。
我很想得到一些帮助,谢谢!
我正在使用通过 vb 用 aspx.net 编写的网站。我有一个 placeHolder,我在这个 PlaceHolder 中创建了一个名称表,每个名称旁边都有一个 HtmlInputCheckBox。当页面上传时,我在 aspx.vb 文件中执行此操作。然后,当用户想要发送邮件时,他按下一个按钮,然后我需要访问复选框,我遇到了这个问题,Sub 不知道 checkBox 对象。
我很想得到一些帮助,谢谢!
我知道您正在动态创建这些复选框?
在这种情况下,将它们存储为类的全局成员,最简单的方法是列出它们:
List<HtmlInputCheckBox> arrCheckboxes = new List<HtmlInputCheckBox>();
...
...
HtmlInputCheckBox myCheckbox = new HtmlInputCheckBox();
arrCheckboxes.Add(myCheckbox);
...
这是 C#,但应该很容易转换为 VB - 无论如何,您可以访问列表并且它应该可以工作。
最坏的情况是“最后的手段”,您可以简单地迭代整个 Request.Form 集合并查找名称与复选框名称匹配的键。
把这个放在程序中...
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