复选框.回发时已在gridview中勾选

本文关键字:gridview 复选框 | 更新日期: 2023-09-27 18:18:53

我有一个gridview与复选框在Itemtemplate。我需要做的是检查条件:

(checkbox.checked==true) 

如果为真,将行移到另一个gridview。我在

中绑定了gridview的数据
if(!PostBack)condition.

一切都很好,直到我的雇主说他不希望gridview被绑定在if(!postback)条件,但如果我把那个条件取出复选框。检查值总是false !

复选框.回发时已在gridview中勾选

从你的问题的细节来看,我不确定你的老板是否希望网格不绑定或不希望页面因网格的ViewState而膨胀,但根据我的经验,通常是后者。然而,如果你的老板不希望网格绑定在"if(!Postback)"条件下,也不介意绑定或使用ViewState,那么你的老板不了解使用c#和服务器端控件的web开发。

但是…为了回答你的问题,复选框都未选中的原因是因为你在ViewState被应用后重新绑定了网格。ViewState包含回发条件中设置回发期间复选框状态所需的所有数据,并在OnLoad(或Page_Load)事件之前应用该数据。通过重新绑定网格,您实际上清除了在ViewState中发布并应用的任何内容。为了克服这个问题,在使用FORM集合重新绑定网格后,将网格的ViewState关闭,并自己应用复选框的状态。

如果您想放弃ViewState,本文中有一些提示。http://www.codeproject.com/KB/viewstate/DataGridViewState.aspx