【问题标题】:asp.net getting dynamically created table contentasp.net 获取动态创建的表格内容
【发布时间】:2012-06-29 13:47:33
【问题描述】:

我在我的 aspx 文件中创建了一个 asp:table,只有一个标题行。

在我的 page_load 中,我不断添加行/单元格。

当我尝试时:

Table table = tempUpdatePanel.FindControl("myTable") as Table;

table 只有 1 行,即标题行,尽管它实际上有/显示了更多。

如何拾取剩余的行/单元格?

【问题讨论】:

  • “当我尝试...”您在何时何地尝试?
  • 在 button_Click() 方法中。所以当我点击页面上的按钮时。
  • 您需要在回发(最迟在 page_load 中)手动重新创建这些行。您将已创建的行数存储在哪里?我相信这很有帮助:stackoverflow.com/questions/5046101/…
  • 行数是在timer_tick()方法中完成的,是不是和page_load中的不一样?
  • 计时器滴答导致页面从客户端回发到服务器。现在所有以前创建的控件和变量都被释放(HTTP 是无状态的)。因此,您需要知道已经添加了多少行并且现在必须重新创建。因此,您可以在 ViewState 或 Session 变量中保留行数(int 变量)。

标签: c# asp.net row cell


【解决方案1】:

如果您要动态添加行/单元格,则必须在 Page_InitComplete 之前完成,否则 viewstate 将在后续回发中覆盖您动态创建的数据..

要了解更多,请转至page life cycle

【讨论】:

  • 但我无法提前知道将添加多少行。这发生在 page_load 中,这是否意味着我永远无法获得那些动态创建的行?
  • @user1468537 您也可以按照 TimSchmelter 的评论重新创建表格
猜你喜欢
  • 2021-06-18
  • 1970-01-01
  • 2013-03-22
  • 2019-08-15
  • 1970-01-01
  • 2012-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多