如何动态地向ASP.NET中的表添加行?

所以今天我开始学习ASP.NET。 不幸的是我没有在网上找到任何好的教程,而且我现在买不起书籍,所以我不得不在Visual Studio 2010中创建一个ASP.NET Web应用程序,只需使用默认的项目设置。

到目前为止,这是我在Default.aspx中的内容:

    Project Management   
Project Management System
Name Task Hours

我创建了一个简单的表,其中已有标题行。 通过C#脚本,我希望能够动态地向这个HTML表添加行。 这是ASP.NET中正确的思考方式吗? 如果是这样,我该怎么做? 我确定我需要一个“添加”按钮,它会在表格中添加一个新行,包含可编辑的字段,以及一个“提交”按钮,可以将一些内容添加到数据库中。

基本上只是简单了解如何做到这一点将是如此有用。 如果有人知道任何可以帮助我解决这个问题的好教程或网站,请告诉我。

提前致谢。

你试过Asp:Table吗?

   Name Task Hours   

然后,您可以根据需要在脚本中添加行,方法是创建它们并将它们添加到myTable.Rows

 TableRow row = new TableRow(); TableCell cell1 = new TableCell(); cell1.Text = "blah blah blah"; row.Cells.Add(cell1); myTable.Rows.Add(row); 

考虑到你的问题描述,我会说你最好使用@Kirk Woll提到的GridView或Repeater。

编辑 – 此外,如果你想学习而不买书,这里有一些你绝对需要熟悉的网站:

Scott Guthrie的博客
来自Rolla的4个人
MSDN
代码项目Asp.Net

除了Kirk所说的我想告诉你的是,只是“玩弄”不会帮助你学习asp.net,而且还有很多免费且非常好的教程。
看看asp.net官方网站教程和4GuysFromRolla网站

ASP.NET WebForms无法以这种方式工作。 你上面的内容只是普通的HTML,所以ASP.NET不会给你任何添加/删除项目的工具。 你要做的是使用Repeater控件,或者可能是GridView。 这些控件将在代码隐藏中提供。 例如,Repeater将公开“Items”属性,您可以在其上添加新项(行)。 在代码前端(.aspx文件)中,您将提供一个ItemTemplate,用于指出正文行的外观。 网上有很多关于转发器的教程,所以我建议你google以获取更多信息。

 public partial class result : System.Web.UI.Page { static DataTable table1 = new DataTable("Shashank"); static DataSet set = new DataSet("office"); protected void Page_Load(object sender, EventArgs e) { lblEmployeeNumber.Text = HttpContext.Current.Request.Form["txtEmployeeNumber"]; lblFirstName.Text = Request.Form["txtFirstName"]; lblLastName.Text = Request.Form["txtLastName"]; lblTitle.Text = Request.Form["txtTitle"]; Int32 Rcount = Convert.ToInt32(table1.Rows.Count); if (Rcount == 0) { table1.Columns.Add("ID"); table1.Columns.Add("FName"); table1.Columns.Add("LName"); table1.Columns.Add("Title"); table1.Rows.Add(lblEmployeeNumber.Text, lblFirstName.Text, lblLastName.Text, lblTitle.Text); set.Tables.Add(table1); } else { if (lblEmployeeNumber.Text != "") { DataRow dr = table1.NewRow(); dr["ID"] = lblEmployeeNumber.Text; dr["FName"] = lblFirstName.Text; dr["LName"] = lblLastName.Text; dr["Title"] = lblTitle.Text; table1.Rows.Add(dr); } } gvrEmp.DataSource = set; gvrEmp.DataBind(); } } 

您需要熟悉“服务器端”与“客户端”代码的概念。 自从我开始以来已经有很长一段时间了,但你可能想从http://www.asp.net上的一些video教程开始。

有两点需要注意:如果您使用的是VS2010,那么实际上有两种不同的框架可供ASP.NET选择:WebForms和ASP.NET MVC2。 WebForms是一种古老的遗留方式,MSC将其定位为替代WebForms的替代方案,但我们将看到社区如何在未来几年内处理它。 无论如何,请务必注意给定教程正在谈论的是哪一个。

您可以在Web表单中使用asp:Table并通过代码构建它:

http://msdn.microsoft.com/en-us/library/7bewx260.aspx

另外,请查看asp.net以获取教程等。

动态创建表中的行

请参见下面的链接

http://msdn.microsoft.com/en-us/library/7bewx260(v=vs.100).aspx

通过JS添加链接https://www.youtube.com/watch?v=idyyQ23joy0

请参阅以下链接。 这将有助于您动态添加行: https : //www.lynda.com/C-tutorials/Adding-data-HTML-tables-runtime/161815/366843-4.html

   Row Click     
Column 1Column 2Column 3
Value 1 Value 2 Value 3