如何使用C#在asp.net中获取循环内部texbox的值

本文关键字:循环 获取 内部 texbox 的值 net 何使用 asp | 更新日期: 2023-09-27 18:24:49

我有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 );
    }

但我收到消息"无法将类型字符串转换为文本框"

我不知道出了什么问题

如何使用C#在asp.net中获取循环内部texbox的值

对于初学者来说,您缺少一个闭合的paren)

我想这就是你的意思

for(int i = 1 ; i<5 ; i++)
{
    TextBox ans = FindControl(string.Concat("Ans", i.ToString())) as TextBox;
}

您缺少一个)

FindControl(string.Concat("Ans", i.ToString()))

我想它可能像这个一样可读性更强

TextBox ans = FindControl(string.Format("Ans{0}",i)) as TextBox

此外,您需要在末尾删除!= null,因为无论您要做什么,这都不是正确的位置:)

试试这个:

TextBox ans = (TextBox)FindControl(string.Concat("Ans", i.ToString()));
if(ans != null)
{
    // found the textbox
}