比如这个表格的id是mytable,我用mytable.rows.count得不到它的行数啊。不知道应该用什么方法那?

解决方案 »

  1.   

    强调一下,这个表格是我在代码中动态生成的,我试过那种在html中直接写好的,用mytable.rows.count是可以得到它的行数的,这是怎么回事啊??
      

  2.   

    问个问题,你的这个表是指页面上显示的html语言表<table id = mytable></table>
    还是指你程序中使用的DataTable表?
      

  3.   

    回楼上,是<table id=mytable runat=server></table>这种
      

  4.   

    别想了,动态添加的row等再次刷新回到后台的时候是不会提交到服务器的,也就是说此时mytable对象里任何row都没有,就像没进行过任何的添加操作一样。因为你动态添加的row没有viewstate,提交的时候后台就没办法知道有这么一个row。倒是可以看看Page .Request,如果你在row里面动态的添加了文本框之类的控件,提交到后台时Page .Request里应该记录有文本框控件的信息,这有点像asp了。
    如果你真想知道表的行数,只能在后台添加行的时候就把行数记录下来(viewstate、文本框、session都行),再次提交的时候才能取道行数,不过此时只有个行数也没什么实际的用处吧。
      

  5.   

    谢谢各位尤其是tidydavid(tidy)细心的讲解。你说的对,我之所以想得到表的行数,就是为了得到表里动态生成的控件的值,我是因为不知道怎么取得这些控件的id(生成的时候id是按照一个整数序列排下来的,相信大家都这么干过),所以想得到表行数的。那么照你这么说来,可以用request.form("controlname")得到它们的值了??能再详细跟我说说吗?谢谢
      

  6.   

    把表格放到Repeater中问题不就解决了吗?Repeater有很多写好的事件都可以利用的!Repeater就像一个数据集,你想怎么取就怎么取,想取什么就取什么!
      

  7.   

    把行数放入ViewState,每一次页面回发在Page_load事件执行完之前要根据这个行数重建htmlTable和里边的控件。然后asp.net就自动填控件的值,以及触发各控件的事件等等。
      

  8.   

    mytable.rows.lenght
    这是javascript语法拿table的行数