2011-01-07 98 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