【发布时间】:2014-11-15 00:26:16
【问题描述】:
我有 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 检查所有项目以避免 16 个 If,但我有语法错误。 我能做什么?
txt_q1,txt_q2... 是 asp:labels 的 ID,我有一个单选按钮列表,所以我得到单选按钮文本并将 q1、q2、q3... 设置为相应的单选按钮列表。所以我想检查是否有一个未选中的单选按钮列表,如果没有,我将颜色更改为蓝色到 asp:label。所以我想避免为每个单选按钮列表创建 16 个 if,并使用 For,因为变量中唯一的变化是数字是相同的“q”和相同的“txt_q”,所以我想将数字添加到"q" 或 "txt_q" 使其成为一个名为 q1 或 txt_q1 的变量,它们已经存在,这样就可以访问 txt_q1.Style.Add() 并更改该标签的颜色。
谢谢
【问题讨论】:
-
这些
items是什么?有点像您正在尝试使用字符串作为对象引用。 -
是变量作为单选按钮文本中的字符串
-
仍不清楚,但
"txt_q"&cnt.Style.Add...几乎可以肯定永远不会工作。如果您尝试创建控件引用,请使用带有Me.Controls()的名称 -
我认为最好使用 array(16) 代替 16 个变量,如果
q1是一个变量,你不能像"q"&1那样检查 -
嗯,连接"txt_q"&cnt.Style.Add()的思路就等于txt_q1.Style.Add(),txt_q2.Style.Add()...等