2011-01-07 58 views
1

我试图在页面中找到控件。 ID是可作为服务器控件(复选框) 此抛出异常“不能将字符串转换为双”Asp.Net中的FindControl

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

任何一个可以告诉我,我错了。

回答

3

你的问题是,你需要使用&代替+在VB.NET连接两个字符串。改变这一行:

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

对于进一步的阅读,有在回答关于this question这是一个很好的讨论。

2

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

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

VB.NET是否支持C#所使用的AS语法?你也可以使用CheckBox而不是HtmlInputCheckBox我认为... – jcolebrand 2011-01-07 04:42:02

+0

增加了一个修复,patmortech有它。必须自己查看它。 – 2011-01-07 04:43:59