如何使用For Variable Vb连接字符串

时间:2014-11-14 15:39:40

标签: asp.net vb.net

我有16个名为q1,q2,q3,...,q16和txt_q1,txt_q2,...,txt_q16的项目 我需要检查每一个,所以我有一个for和内部我有If这样:

For Cnt AS Integer = 1 To 16 Step 1
   If("q"&cnt = "") Then
      "txt_q"&cnt.Style.Add("color","blue")
      ....
      ..
   End If
End For 

这个想法是使用For检查al项以避免16 Ifs,但是我有语法错误。 我该怎么办?

txt_q1,txt_q2 ...是asp:标签的ID,我有一个radiobuttonList,所以我得到了radiobutton文本,我将q1,q2,q3 ......设置为相应的radiobuttonlist。所以我想检查是否有未检查的radiobuttonlist,如果不是,我将颜色更改为蓝色到asp:标签。所以我想避免为每个radiobuttonlist制作16个ifs并使用For来制作它,因为变量中唯一改变的是数字是相同的" q"和#34; txt_q"所以我想把这个数字添加到" q"或" txt_q"使一个名为q1或txt_q1的变量已经存在,并以此方式访问txt_q1.Style.Add()并更改该标签的颜色。

谢谢

1 个答案:

答案 0 :(得分:0)

仅供您理解:

当您编写"txt_q"&cnt时,您正在创建一个新的字符串文字,例如"txt_q1""txt_q2"等。这类似于变量的名称,但实际上是完全不同的东西。变量的名称仅供您在代码中编写。变量的值是对控件对象的引用。您需要的是获得对控件的引用。这可以通过多种方式完成,一种是使用FindControl()方法。

For Cnt AS Integer = 1 To 16 Step 1
   Dim c = FindControl("q" & cnt) 'pass in the ID here, you will get a reference
   'you can use c to access the properties e.g. c.Style
End For 

再次,只是为了澄清

c.Style 'c is a variable holding a reference to the control
"c".Style ' "c" is a simple string