我在使用 C# ASP.NET 表单时遇到问题。该表单的目的是从数据库中加载一些键/值对,以允许用户查看、编辑或删除它们。
Key/Value 对是在 Page_Load 事件中动态生成的,当页面第一次打开时一切正常。这是一些示例代码(从原始代码中删除)
TableRow row = new TableRow();
TableCell cell = new TableCell();
cell.Text = keyName;
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = keyValue;
row.Cells.Add(cell);
KeyValueTable.Rows.Add(row);
我只是循环遍历所有键/值对,并且每个都动态添加到表中。在页面加载时,一切运行顺利,所有键/值对都按预期显示。
当用户单击一个按钮时会出现问题,该按钮设置为 runat="server",生成一个回发事件。这样做似乎是清除上面生成的动态内容,然后重新创建它(因为它是在 Page_Load 事件中创建的)。
我更愿意做的是选择何时清除动态内容,因为我不希望它不必要地刷新,因为每次刷新实际上都是从数据库中发生的。
如果它不是回发,我试图做的是执行动态内容的生成。IE:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GenerateDynamicContent();
}
}
然而,现在所做的是在页面首次加载时生成动态内容,但是一旦发生一些回发事件(例如用户单击按钮),动态内容就会被擦除,但不会被创建。
基本上,我希望找到某种方式来创建动态内容,如上所示,不会在任何回发事件中被擦除。我希望能够控制它何时刷新,而不是在任何回发事件中发生。这可能吗?
非常感谢