C# 基于用户输入向表中添加行(ASP.NEt)

C# 基于用户输入向表中添加行(ASP.NEt),c#,asp.net,dynamic-data,C#,Asp.net,Dynamic Data,我有一个文本框输入字段,用户将在其中输入一个整数值。然后有一个“创建”按钮,单击该按钮时必须生成一个包含两列的表: “名称”和“电子邮件”是列标题 我希望每一行在每一列中都有一个文本框 所有这些都必须在单击按钮后发生。我发现,如果在ASP.NET中动态添加控件(我使用的是C#),那么这些控件在回发过程中会丢失。我不知道如何防止这种情况发生 有人能告诉我一些关于如何动态地向表中添加行的想法吗(我尝试使用asp.net服务器端的表控件,但遇到了“回发时丢失”的问题-我可以尝试使用gridview之类

我有一个文本框输入字段,用户将在其中输入一个整数值。然后有一个“创建”按钮,单击该按钮时必须生成一个包含两列的表: “名称”和“电子邮件”是列标题

我希望每一行在每一列中都有一个文本框

所有这些都必须在单击按钮后发生。我发现,如果在ASP.NET中动态添加控件(我使用的是C#),那么这些控件在回发过程中会丢失。我不知道如何防止这种情况发生

有人能告诉我一些关于如何动态地向表中添加行的想法吗(我尝试使用asp.net服务器端的表控件,但遇到了“回发时丢失”的问题-我可以尝试使用gridview之类的其他工具吗?但是如果没有绑定到它的数据,GV将无法工作)

需要注意的是,我的表中有用于用户输入的文本框,它不是用来显示数据的。而是用来接受来自用户的数据,这些数据稍后将用于将详细信息持久化到数据库中

动态控制 这很复杂。这里有一个关于动态控件问题的有趣的例子

我认为,通常情况下,如果你创建了动态控件,那么你就有责任在回发时重新创建它们;但是,如果Init事件与您的应用程序协同工作,本文提供了一种使用Init事件的方法

编辑: 或常规ASP.NET控件 您可以使用数据绑定的ASP.NET控件,如:DataList、Repeater、GridView等(您可以将文本框和所有其他类型的控件放入其中,以便在每行或“项”中重复),并将值绑定到它们。如果需要首先对用户输入执行某些处理,则生成内部数组、列表、字典、数据表等(由您选择),并将该数据作为数据源绑定到所选的ASP.NET控件

aspnetControl.DataSource = myDataTable;
aspnetControl.DataBind();

分配数据源有多种方法


这样,您就不会遇到与创建动态控件相同的问题;不过,这种方法也有很多需要学习的地方。

谢谢,但是没有更简单的方法吗?我做了一个编辑,虽然我不知道是否更简单。我将让其他人提供更详细的答案或更简单的答案。
aspnetControl.DataSourceId = "name_of_control";