将GridView中的CheckBox值保存到数据库。 ASP.NET

时间:2018-06-07 04:48:15

标签: c# asp.net .net gridview webforms

我正在使用gridview开发webform。我有一个问题,复选框的值不保存在表中。我已经尝试过一切都没有用。按下按钮后,值不会存储。 正如你在我的代码中看到的那样,我没有使用id来识别每个特定行,而不是id我使用foreach

protected void Button_Submit_Onclick(object sender, EventArgs e)
     {
         foreach (GridViewRow row in GridView2.Rows)
         {
             con.ConnectionString = ConfigurationManager.ConnectionStrings["TestDeductionsConnectionString2"].ToString();

             bool private1 = (row.FindControl("CheckBox1") as CheckBox).Checked;
             SqlCommand cmd = new SqlCommand("insert into DetailCosts(private) values(@private1)", con);
             if (private1 == true)
             {
                 cmd.Parameters.Add(new SqlParameter("@private1", SqlDbType.Bit));
                 cmd.Parameters["@private1"].Value = 1;
                 //cmd.Parameters.Add("@private1", SqlDbType.Bit).Value = 1;
             }
             else
             {
                 cmd.Parameters.Add(new SqlParameter("@private1", SqlDbType.Bit));
                 cmd.Parameters["@private1"].Value = 0;
                 //cmd.Parameters.Add("@private1", SqlDbType.Bit).Value = 0;
             }
             con.Open();
             cmd.ExecuteNonQuery();
             con.Close();
         }}

我的Gridview有一个代码:

<asp:GridView ID="GridView2" runat="server"  AutoGenerateColumns="False" DataSourceID="SqlDataSource2" BackColor="White" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black" GridLines="Vertical" DataKeyNames="recordid">
                            <AlternatingRowStyle BackColor="#CCCCCC" />
                            <Columns>
                                 <asp:BoundField DataField="recordid" HeaderText="recordid" SortExpression="recordid">
                                </asp:BoundField>
                                <asp:BoundField DataField="Employee" HeaderText="Employee" SortExpression="Employee">
                                </asp:BoundField>
                                <asp:BoundField DataField="mesec" HeaderText="Month" SortExpression="mesec">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                                <asp:BoundField DataField="godina" HeaderText="Year" SortExpression="godina">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                                <asp:BoundField DataField="CallDate" HeaderText="Call Date" SortExpression="CallDate">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                                <asp:BoundField DataField="PhoneType" HeaderText="Phone Type" SortExpression="PhoneType">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                                <asp:BoundField DataField="land" HeaderText="Land" SortExpression="land">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                                <asp:BoundField DataField="number" HeaderText="Number" SortExpression="number">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                                <asp:BoundField DataField="Minutes" HeaderText="Minutes" SortExpression="Minutes">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                                <asp:BoundField DataField="Costs" HeaderText="Costs" SortExpression="Costs">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                                <asp:BoundField DataField="privateCost" HeaderText="Private Costs" SortExpression="privateCost">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                                <asp:TemplateField HeaderText="Private" SortExpression="private" >
                                    <EditItemTemplate>
                                        <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("private") %>' />
                                    </EditItemTemplate>
                                    <ItemTemplate>
                                        <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("private") %>' />
                                    </ItemTemplate>
                                    <HeaderStyle HorizontalAlign="Center" />
                                </asp:TemplateField>
                                <asp:BoundField DataField="Komentar" HeaderText="Commnet" SortExpression="Komentar">
                                    <ItemStyle HorizontalAlign="Center" />
                                </asp:BoundField>
                            </Columns>
                            <FooterStyle BackColor="#CCCCCC" />
                            <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
                            <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
                            <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
                            <SortedAscendingCellStyle BackColor="#F1F1F1" />
                            <SortedAscendingHeaderStyle BackColor="#808080" />
                            <SortedDescendingCellStyle BackColor="#CAC9C9" />
                            <SortedDescendingHeaderStyle BackColor="#383838" />
                        </asp:GridView>

0 个答案:

没有答案