c# - 向表 C# 动态添加新行
问题描述
下面是创建表并动态显示数据库项目的代码。这很好用,我想在按钮的 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);
}
解决方案
由于您在 ASP.NET 中开发 Web 应用程序,因此您需要使用一些东西来管理您的状态。这是 Microsoft 对您的选项的一个很好的细分:https ://msdn.microsoft.com/en-us/library/z1hkazw7.aspx
根据数据的复杂性,视图状态和查询字符串是非常常见的实现,但该文章强调了每个选项的优缺点。一旦您决定了要使用哪个选项,就应该很容易在 Google 上找到一个如何使用它的示例。
从理论上讲,如果您愿意,您甚至可以在每次回帖时重新加载数据库中的数据。
推荐阅读
- arm-template - 我可以使用 ARM JSON 脚本对 Azure Stack 上的订阅应用限制吗?
- javascript - React:如何在另一个函数之前更新状态?
- php - 基于php子数组中相同键的数组总和
- rest - 我应该使用 POST 还是 PUT 进行登录请求,为什么?
- package - Bigcommerce Stencil: SyntaxError: Unexpected token ' in JSON at position 63
- javascript - AppleScript中是否有类似array.split的函数
- apache-flink - Apache Flink:无法解析选择子句中的字段
- html - CSS 在不同的缩放级别上显示不同的渲染行为
- angular - 如何每 2 分钟触发一次 Web 服务调用
- linux - 无法在 ubuntu 18 中打开 PyRx 软件