动态创建控件在回发后丢失数据

其实,我创建1 TextBox上Pageload,并补充说TextBox来Panel。现在,我有一个LinkButton喜欢Add Another。


我正在输入文本,TextBox如果需要,我需要TextBox通过单击创建新建Add Another LinkButton。


实际上,我能够得到计数并重新创建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;

}

我得到一个Count=0上Button_Click。


繁华开满天机
浏览 473回答 3
3回答

米琪卡哇伊

您需要做的就是在回发期间每次都在页面加载事件之前或之内重新实例化/重新初始化动态控件,并将此控件添加到页面/表单/占位符。然后,通过父控件调用LoadPostData方法,将自动将发布的数据分配给控件。
打开App,查看更多内容
随时随地看视频慕课网APP