如何使RowCreated事件在未回发时不触发

本文关键字:何使 RowCreated 事件 | 更新日期: 2023-09-27 18:09:58

我在RowCreated事件中有一个动态控件的gridview。在gridview列中是server controls

例如,我有一个LinkButton控件,当我单击按钮时,它再次在RowCreated事件中创建页面上的所有控件。哪有那么多时间在外面吃饭。

如何防止该事件被调用,并拥有那些controls

我的代码:

                        Button btn = new Button();
                        btn.ID = "button1";
                        btn.Text = "Submit";
                        btn.Click += btn_Click;
                        e.Row.Cells[0].Controls.Add(btn);

如何使RowCreated事件在未回发时不触发

一个简单的方法是将if (!IsPostBack)...添加到您的RowCreated事件

不幸的是,动态控件必须在回发时重新创建。保留值有时会很棘手,但如果正确使用Page生命周期和ViewState,应该没问题。

您还可以在其他领域寻找优化,特别是缓存数据源。