动态地向表C#添加新行

时间:2018-08-28 23:49:21

标签: c# asp.net

下面是创建表并动态显示数据库中项目的代码。这项工作很棒,我想在按钮的onclick事件上添加一行,并在单击按钮时使数据持久化而不丢失数据。任何帮助将不胜感激。

Table tb = new Table();
tb.BorderWidth = 1;
tb.Width = new Unit("740px");
tb.BorderStyle = BorderStyle.Solid;
tb.ID = "myTable";

TableRow tr = new TableRow();
TableRow tr2 = new TableRow();
TableRow trEndRow = new TableRow();
foreach (QuestionBuilder QB in GetQuestionsDatabySection)
{
    TableCell tc1 = new TableCell();
    tc1.Text = OQB.QuestionText;
    tc1.BorderWidth = 1;
    tr.Cells.Add(tc1);
    tb.Rows.Add(tr);

    TableCell tc2 = new TableCell();
    tc2.Controls.Add(getControl(OQB.DynamicAttributeId, "0"));
    tc2.BorderWidth = 1;
    tr2.Cells.Add(tc2);
    tb.Rows.Add(tr2);

    TableCell tcEnd = new TableCell();
    Button btn = new Button();
    btn.Text = "Add Row";
    btn.Attributes.Add("OnClick", "ButtonAddRow_Click");
    btn.Attributes.Add("runat", "server");

    tcEnd.Controls.Add(btn);
    tcEnd.BorderWidth = 1;
    trEndRow.Cells.Add(tcEnd);
    tb.Rows.Add(trEndRow);
    // Add to PlaceHolder
    phTable.Controls.Add(tb);
}

1 个答案:

答案 0 :(得分:0)

由于您正在ASP.NET中创建Web应用程序,因此需要使用某些方法来管理状态。 以下是Microsoft提供的有关您的选择的详细分类:https://msdn.microsoft.com/en-us/library/z1hkazw7.aspx

根据数据的复杂性,视图状态和查询字符串是非常常见的实现,但是该文章重点介绍了每个选项的优缺点。一旦确定了要使用的选项,Google便会很容易地举例说明如何使用它。

理论上,如果您愿意的话,甚至可以从每个回发的数据库中重新加载数据。