部分代码如下
string strHtml = " <tr> <td class='TDTitle' width='160px'>";                LiteralControl lc = new LiteralControl(strHtml.ToString());
                lc.EnableViewState = true;                span0.Controls.Add(lc);
                span0.Controls.Add(lbl);                span0.Controls.Add(new LiteralControl("</td> "));
                span0.Controls.Add(new LiteralControl("<td class='TDContent' width='241px'>"));                span0.Controls.Add(txt);
                span0.Controls.Add(hdf);代码目的:根据结果集循环自动创建控件。问题:创建成功之后,后台进行保存的时候,无法遍历出span内的控件求各位大侠解答

解决方案 »

  1.   

    LiteralControl 在运行时不产生任何图形输出  只是为控件添加输出 
    容器使用div,panel等div.Controls.Add
    HtmTable添加Tablerow
    服务器端使用ruant=server
      

  2.   

    一般不要用LiteralControl来添加<tr><td>之类的,应该用
    System.Web.UI.HtmlControls命名空间下HtmlTable、HtmlTableRow、HtmlTableCell,分别对应<table></table>、<tr></tr>、<td></td>。
      

  3.   


    不懂你什么意思?是说span0.Controls集合里没有内容?
      

  4.   

    “动态添加控件”问题,还是用脚本来解决的比较好,C#代码解决起来会“吃力不讨好”
    方案:
    服务器端循环输出HTML控件,表单提交前JS遍历循环输出的控件,取得这些值保存在hidden控件中,服务器端去hidden获取即可