gpt4 book ai didi

c# - 回发后动态创建的控件丢失数据

转载 作者:IT王子 更新时间:2023-10-29 04:06:19 25 4
gpt4 key购买 nike

实际上,我正在 Pageload 上创建 1 个 TextBox 并将该 TextBox 添加到 Panel。现在,我有一个像 Add Another 这样的 LinkBut​​ton

我正在该 TextBox 中输入文本,如果需要,我需要通过单击 Add Another LinkBut​​ton 创建新的 TextBox

实际上,我能够获取计数并重新创建 TextBoxes。但是,问题是,我在以前生成的 Textboxes 中输入的文本丢失了。

任何人都可以建议我解决这个问题吗?

protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{
for (int i = 0; i < 5; i++)
{
TableRow row = new TableRow();
for (int j = 0; j < 5; j++)
{
TableCell cell = new TableCell();
TextBox tb = new TextBox();
tb.ID = "TextBoxRow_" + i + "Col_" + j;
cell.Controls.Add(tb);
row.Cells.Add(cell);
}
Table1.Rows.Add(row);
}
}
}
catch (Exception ex)
{
throw;
}
}

这是一个示例代码,同样的代码也写在Button_Click

 protected void ASPxButton1_Click(object sender, EventArgs e)
{
int k = Table1.Controls.Count;
}

我在 Button_Click 上得到一个 Count=0

最佳答案

需要做的就是在每次回发期间在页面加载事件之前或之内重新实例化/重新初始化动态控件,并将此控件添加到页面/表单/占位符。然后,通过父控件调用LoadPostData方法,将发布的数据自动分配给控件。

查看文章以及如何为动态控制编写代码 - How to maintain dynamic control events, data during postback in asp.net

enter image description here

关于c# - 回发后动态创建的控件丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17589268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com