在Asp.Net中查找控件

时间:2011-01-07 04:37:11

标签: asp.net vb.net findcontrol

我正在尝试在页面中找到控件。 Id可用作服务器控件(CheckBox) 这会引发异常“无法将字符串转换为双精度”

Dim taskId As HtmlInputCheckBox
i =10
taskId = Me.FindControl("chkTaskOption_" + i)
taskId.Checked = True

任何人都可以告诉我哪里错了。

2 个答案:

答案 0 :(得分:3)

您的问题是您需要使用&而不是+来连接VB.NET中的两个字符串。改变这一行:

taskId = Me.FindControl("chkTaskOption_" & i)

为了进一步阅读,在this question的答案中对此进行了很好的讨论。

答案 1 :(得分:2)

您可能只是缺少从FindControl返回的类型的强制转换。或者在变量i上。我不记得VB.net是否会为你转换。

i =10
Dim taskId As HtmlInputCheckBox
taskId = CType(Me.FindControl("chkTaskOption_" & i.ToString()), HtmlInputCheckBox)
taskId.Checked = True