-2

我想通过以下形式的代码动态添加控件

lblName   txtName       lblSubject    txtSubject         btnAddNewRow/linkAddNewRow

这样 btAddNewRow/linkAddNewRow 在运行时在当前行下方生成新行。有人可以以最好的方式提供帮助。另外是否可以仅使用标签而不使用表格,即 td th 进行格式化。我使用行只是为了显着。我不打算使用表格行。请考虑前缀作为控件的类型。谢谢。

4

1 回答 1

0

基本上,如果您的意图与数据处理有关,DataGrid 和 GridView 将是不错的选择。

动态添加 ROW 而不是 table 实际上并没有太大区别,我可以告诉您,与 DataGrid 和 GridView 相比,您会发现它并不完全合适。

如果您真的想动态添加行,则每次单击任何按钮(添加行按钮或其他)页面都会回发,并且您刚刚添加的行将消失。

人们通常会在创建表和添加行时使用会话来存储整个表。

在 Page_Load 中以及在他们添加行之前,他们将从会话中检索整个表。这有助于将数据保留在原始行中。


但这对于您处理几乎每一行控件的 ID、格式、样式等可能会很麻烦,并且考虑一下您何时想要处理验证,这可能是地狱。

我并不是说这是不可行的,因为我经历过这个。

另一种更简单的方法是创建一个自定义控件,方法是将一整行包括验证、样式和其他您需要的东西放在自定义控件中,然后将其动态添加到页面中(还需要 Session 或 ViewState 来存储它,同样的事情会发生) .

希望这可以帮助您重新考虑您的设计

于 2013-01-01T14:11:33.870 回答