c# - Checkbox == true not detected -
i attempting delete row (or rows) listview via checkbox. code have below.. have used same on similar area of site 1 doesn't seem work. check box ticked, delete button pressed , reloads page without deleting.
page load
protected void page_load(object sender, eventargs e) { dstableadapters.contact_messagestableadapter cmta = new dstableadapters.contact_messagestableadapter(); dstableadapters.messagestableadapter mta = new dstableadapters.messagestableadapter(); dstableadapters.user_messagestableadapter umta = new dstableadapters.user_messagestableadapter(); datatable cmessagetable = cmta.getall(); datatable ownermessagestable = umta.getmessages("owner"); datatable clientmessagestable = umta.getmessages("user"); lvcontact.datasource = cmessagetable; lvcontact.databind(); lvclientmessages.datasource = clientmessagestable; lvclientmessages.databind(); lvownermessages.datasource = ownermessagestable; lvownermessages.databind(); }
markup:
<asp:listview id="lvcontact" runat="server" datakeynames="contact_id"> <layouttemplate> <table id="itemplaceholdercontainer"> <tr> <th>message id</th> <th>email address</th> <th>message</th> <th>date</th> </tr> <tr runat="server" id="itemplaceholder"></tr> </table> </layouttemplate> <itemtemplate> <tr> <td> <asp:checkbox id="chkcontactid" runat="server" autopostback="false" /> </td> <td> <asp:label id="lblcontactemail" runat="server" text='<%#eval("email") %>' /> </td> <td> <asp:label id="lblcontactmessage" runat="server" text='<%#eval("message") %>' /> </td> <td> <asp:label id="lblcontactdate" runat="server" text='<%#eval("date") %>' /> </td> </tr> </itemtemplate> </asp:listview> <asp:button id="btncontactdelete" runat="server" text="delete selected messages" onclick="btncontactdelete_click" />
code-behind:
protected void btncontactdelete_click(object sender, eventargs e) { // loop through each row find checked boxes (int = 0; < lvcontact.items.count; i++) { listviewdataitem items = lvcontact.items[i]; int icontactid = convert.toint16(lvcontact.datakeys[items.dataitemindex]["contact_id"]); checkbox chkbox = (checkbox)items.findcontrol("chkcontactid"); if (chkbox.checked == true) { response.write(icontactid); // if selected deleted dstableadapters.contact_messagestableadapter cmta = new dstableadapters.contact_messagestableadapter(); cmta.deletemessage(icontactid); } } lvcontact.databind(); }
do populate listview in page load, might need have
if (!ispostback) { //fill listview }
i think when webpage post loosing checked checkboxes.
Comments
Post a Comment