for (int i = 0; i <= ds.Tables[0].Rows.Count-1; i+=2)
          {
string cid = ds.Tables[0].Rows[i]["ControlType"].ToString() + ds.Tables[0].Rows[i]["Property"].ToString();
string name = ds.Tables[0].Rows[i]["PropertyName"].ToString();
sb.Append("<tr> ");
sb.Append("<td  class='td1' ></td>");
sb.Append("<td   class='td7'  > " + name + "</td><td style='width:3%'>:</td>");
sb.Append("<td  class='td2' >  <input name="+cid+" type='text' maxlength='50' id='txt2' tabindex='9' onKeyDown='EnterToTab()' class='txtWidth' /> </td>");
       sb.Append("<td  class='td3' ><font color='#ff0000'><strong>&nbsp;</strong></font></td>");
       sb.Append(" </tr>");
         
          }
          Panel2.InnerHtml = sb.ToString();
      }控件是生成了。前台也显示了。在后台怎样读取input name="+cid+" type='text'  的值?
InnerHtml直接输出<asp:textbox 这样的标签在前台是显示不了的

解决方案 »

  1.   

    将input中加上runat="server"后台读取:
    string a=cid.value.ToString();
      

  2.   

    将input中加上runat="server"
    哦你的id是txt2

    后台读取: 
    string a=txt2.value.ToString();
      

  3.   

    string aa = Request.Form["cid"];
      

  4.   

    将input中加上runat="server" 
    哦你的id是txt2 
    则 
    后台读取: 
    string a=txt2.value.Trim().ToString(); 
      

  5.   

         在TextBox的名字后面加上  .Text   就是TextBox里的值了   
      

  6.   

    整个ID 出来 然后通过ID 得到值 还有别忘记 runat="server"