开发者

asp grid view check box to presrver on neigation(paging)

In a grid view i have used paging for that i have used the view state to store datatale to bind it on GridView1_PageIndexChanging event every thing works fine but the problem happens with the first column which is having the checkbox placed in each row . On navigation all checked check box becomes unchecked how to maintain the state of check box as well.

this is the aaspx code

<Columns>
<asp:TemplateField HeaderText="Select Student">
<ItemTemplate>
<asp:CheckBox id="Chek"  runat="server" Text="select" ></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Enrollment No." DataField="enrollment_no" />
<asp:BoundField HeaderText="Course Name" DataField="course_name"/>
<asp:BoundField  HeaderText="Branch Name"  DataField="branch_name"/>
<asp:BoundField HeaderText="Email Id" DataField="email" />
<asp:BoundField  HeaderText="Mobile" DataField="mobile"/>开发者_如何学C;
<asp:BoundField HeaderText="Name"  DataField="first_name"/>
<asp:BoundField  HeaderText="Surname" DataField="last_name" />
</Columns>


</asp:GridView>


Viewstate is intended for postbacks to the same page.

To preserve state when navigating to other pages here are 3 options:

  1. Put your checkbox (or simply true/false) in the Session
  2. Use the PreviousPage property
  3. Or use cookies

Summary of option #2

If you have ot post accross pages, cookies can be used, and also Cross Page Posting by setting the PostBackURL property of a button, then the POST request is directed at the specified page, and you can get the values from the PreviousPage property of the next page.

Example of using option #3, the Session:

//Set
Session["mySessionVariableName"] = myCheckBox;

//Get
CheckBox myCheckBox = (CheckBox)Session["mySessionVariableName"];

I summarized in more detail here and here

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜