我想通过循环来得到textbox的ID,下面是我的代码,但提示string 不能转化成textbox,大家帮我看看了
content += "<ul>";
            for (int j = 1; j < 4; j++)
            {                string list = ((TextBox)("TextBox" + (k + 1))).Text.Trim();
                string list = ((TextBox)("TextBox" + (k + 1))).Text.Trim();
                string objects = ((TextBox)("TextBox" + (k + 2))).Text.Trim();
                string objects_1 = ((TextBox)("TextBox" + (k + 3))).Text.Trim();
                string objects_2 = ((TextBox)("TextBox" + (k + 4))).Text.Trim();
                content += "<li><strong>序号" + list + "</strong></li>";
                content += "<li><strong>物品" + objects + "</strong></li>";
                content += "<li><strong>规格和要求" + objects_1 + "</strong></li>";
                content += "<li><strong>数量" + objects_2 + "</strong></li>";
                k = k + 4;
            }
            content += "</ul>";

解决方案 »

  1.   

    (TextBox" + (k + 3) 得到的 是一个 字符串了  例如 TextBox4 相当于
    string aa="TextBox4" 中的aa根本就不是  控件的名称 
    要想获得控件的名称  要用((TextBox)(Page.FindControl(name)))
      

  2.   

    (TextBox)("TextBox" + (k + 1)),这个方法有问题。
    这句代码的意思是将"TextBox" + (k + 1)转换为TEXTBOX,当然转换报错。
    不太明白循环是指什么
      

  3.   

    不能这样找textbox的id吧?
    要不就用foreach来做,要不就用FindControl来做
      

  4.   

    行 33:             string list = ((TextBox)(Page.FindControl("TextBox"+(k+1)))).Text.Trim();
    还是不行了 未将对象引用设置到对象的实例。 
      

  5.   

    string list = ((TextBox)("TextBox" + (k + 1))).Text.Trim(); 
    string list = ((TextBox)FindControl("TextBox" + (k + 1))).Text.Trim(); 
    string objects = ((TextBox)FindControl("TextBox" + (k + 2))).Text.Trim(); 
    string objects_1 = ((TextBox)FindControl("TextBox" + (k + 3))).Text.Trim(); 
    string objects_2 = ((TextBox)FindControl("TextBox" + (k + 4))).Text.Trim(); 不过你要确定你的页面确实存在TextBox2--------TextBox6
    否则就会
    未将对象引用设置到对象的实例。
      

  6.   

    第一个没改
    string list = ((TextBox)FindControl("TextBox" + (k + 1))).Text.Trim(); 
      

  7.   

    string list=request.form(控件名)这样试试
      

  8.   

    要不就用foreach来做,要不就用FindControl来做