2010-04-06 104 views
0

我有一个表和一个按钮。表格的单元格有控制LiteralControl和CheckBox。我检查一些领域,然后通过点击按钮我从数据库中删除这些领域。在事件Page_PreRender上,我清除Table,然后用更新的数据填充它。然后它显示我更新的数据表。但是,如果我再次检查表的字段,并点击一个按钮,它不会做我所期望的。在Page_Load事件中,我发现它不保存控件的属性。选中的复选框控件显示为未选中。asp.net页面生命周期问题

+0

您是否在'PreRender'中动态创建这些复选框控件?......或者更确切地说,它们是由您的还是在'PreRender'中添加的? – 2010-04-06 12:20:30

+0

好问题,这是一个痛苦的道路。 – 2010-04-06 12:24:25

+0

我在PreRender中动态创建它们。 – Varyanica 2010-04-06 12:33:22

回答

0

我假设按钮回发,你正在做你的更新,然后你试图确保新的数据重新加载。

您可能想要做的是在更新后重定向到您的页面 - 搜索“GET AFTER POST”以获取更多信息。

+0

但如果我在Load事件中填充表,它会保存控件的属性。 – Varyanica 2010-04-06 12:36:18

+0

您可以设置enableviewstate属性,以便它不保存状态? – chris 2010-04-06 14:17:57

1

是狡猾。你真的希望在处理任何事件之前绑定所有数据。即绑定您的数据OnInit或OnLoad(如果您可以保存视图状态,OnInit会更好)。

然后处理事件,即删除行或您正在做的任何事情,然后在事件处理程序本身(在删除操作之后)获取并重新绑定新数据。