Checkbox.checked in gridview on postback

时间:2011-12-28 14:47:05

标签: c# asp.net webforms

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

(checkbox.checked==true) 

如果真的将行带到另一个gridview。我在

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

一切都工作正常,直到我的雇主说他不希望gridview绑定在if(!postback)条件但是如果我把那个条件拿出来复选框。检查值总是为假!

1 个答案:

答案 0 :(得分:1)

根据您的问题的详细信息,我不确定您的老板是否希望网格未绑定或者不希望网页膨胀与网格的ViewState,但根据我的经验,它&# 39;通常是后者。但是,如果你的老板根本不希望网格绑定在" if(!Postback)"条件并不介意如果它绑定或使用ViewState,那么你的老板不会使用C#和服务器端控件来理解Web开发。

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

如果您想取消ViewState,请参阅本文的一些提示。 http://www.codeproject.com/KB/viewstate/DataGridViewState.aspx