2011-12-28 47 views
0

我有一个GridView与项目模板中的复选框。我需要做的是检查条件:Checkbox.checked在gridview上回发

(checkbox.checked==true) 

如果它的真正把行到另一个gridview。我绑定在

if(!PostBack)condition. 

一切的GridView的数据工作正常,直到我的老板说,他不希望在GridView在如果(!回发)条件的约束,但如果我认为这个条件了checkbox.checked值总是假的!

+1

请格式化您的问题和代码。 – abatishchev 2011-12-28 14:49:18

+6

plz不要使用txtspk 4你的任务kthxbai – 2011-12-28 14:49:37

回答

1

从你的问题的细节,我不确定你的老板是不是希望网格不受约束,或者不希望页面与网格的ViewState臃肿,但根据我的经验,通常是后者。然而,如果你的老板不希望网格绑定在“if(!Postback)”条件下,并且不介意绑定或使用ViewState,那么你的老板不理解使用C#和服务器端控制。

但是......要回答你的问题,复选框全部取消选中的原因是因为你正在应用ViewState后重新绑定网格。 ViewState包含回发条件中所需的所有数据,用于在回发期间设置复选框的状态,并在OnLoad(或Page_Load)事件之前应用该数据。通过重新绑定网格,您基本上可以清除在ViewState中发布并应用的所有内容。为了解决这个问题,关闭网格的ViewState,并在您使用FORM集合重新绑定网格后,自行应用复选框的状态。

如果您想取消ViewState,这里有一些在这篇文章中的提示。 http://www.codeproject.com/KB/viewstate/DataGridViewState.aspx