我有4个文本框,所有文本框都带有id“Ans”和数字从1到4
<asp:TextBox ID="Ans1" runat="server" placeholder="Favorite Color"></asp:TextBox>
我有这个循环来获取每个文本框的值
for(int i = 1 ; i<5 ; i++)
{
TextBox ans = FindControl (string.Concat("Ans", i.ToString()) as TextBox != null );
}
但是我收到此消息“无法将字符串转换为文本框”
我不知道出了什么问题
答案 0 :(得分:4)
对于初学者来说,你错过了一个近距离的比赛)
我认为这就是你的意思
for(int i = 1 ; i<5 ; i++)
{
TextBox ans = FindControl(string.Concat("Ans", i.ToString())) as TextBox;
}
答案 1 :(得分:3)
您错过了)
FindControl(string.Concat("Ans", i.ToString()))
我想它可能更像这样
TextBox ans = FindControl(string.Format("Ans{0}",i)) as TextBox
此外,您需要在结尾删除!= null
,无论您想做什么,这都不是正确的地方:)
答案 2 :(得分:2)
试试这个:
TextBox ans = (TextBox)FindControl(string.Concat("Ans", i.ToString()));
if(ans != null)
{
// found the textbox
}