0

我被这个困住了。我有一个gridview 和一个sqldatasource。我创建了一个带有链接按钮的页脚行,用于将记录添加到 MSSQL 数据库。

在此处输入图像描述

我可以插入除最后一个复选框之外的所有文件,即一个 BIT。这是我的事件处理程序:

protected void lnkInsert_Click(object sender, EventArgs e)
{
    SqlDataSource1.InsertParameters["name"].DefaultValue =
        ((TextBox)GridView1.FooterRow.FindControl("txtName")).Text;

    SqlDataSource1.InsertParameters["username"].DefaultValue =
        ((TextBox)GridView1.FooterRow.FindControl("txtUsername")).Text;

    SqlDataSource1.InsertParameters["pass"].DefaultValue =
        ((TextBox)GridView1.FooterRow.FindControl("txtPass")).Text;

    SqlDataSource1.InsertParameters["uread"].DefaultValue =
        ((TextBox)GridView1.FooterRow.FindControl("txtUread")).Text;

    SqlDataSource1.InsertParameters["udownload"].DefaultValue =
        ((TextBox)GridView1.FooterRow.FindControl("txtUdownload")).Text;

    SqlDataSource1.InsertParameters["udelete"].DefaultValue =
        ((TextBox)GridView1.FooterRow.FindControl("txtUdelete")).Text;

    SqlDataSource1.InsertParameters["umail"].DefaultValue =
       ((TextBox)GridView1.FooterRow.FindControl("txtUmail")).Text;

    SqlDataSource1.InsertParameters["is_admin"].DefaultValue =
        ((CheckBox)GridView1.FooterRow.FindControl("chkCredential")).Checked;

    SqlDataSource1.Insert();

}

我尝试了有关复选框的不同版本的行,我什至尝试使用 Bool、Boolean 等,但我找不到让它工作的方法。我不断收到诸如“无法在字符串中转换 bool”之类的错误。我应该如何写这一行:

SqlDataSource1.InsertParameters["is_admin"].DefaultValue =
        ((CheckBox)GridView1.FooterRow.FindControl("chkCredential")).Checked;

象素

<asp:TemplateField HeaderText="Admin" SortExpression="is_admin">
<EditItemTemplate>
  <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("is_admin") %>' />
    </EditItemTemplate>
     <FooterTemplate>
      <asp:CheckBox ID="chkCredential" runat="server" />
       </FooterTemplate>
         <ItemTemplate>
          <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("is_admin") %>' Enabled="false" />
         </ItemTemplate>
  </asp:TemplateField>

让它工作?一些帮助将不胜感激。

4

2 回答 2

2

if((CheckBox)GridView1.FooterRow.FindControl("chkCredential")).Checked==true) 然后 SqlDataSource1.InsertParameters["is_admin"].DefaultValue="1"; 否则为“0”

于 2013-09-30T06:52:49.367 回答
1

你可以试试这个:

SqlDataSource1.InsertParameters["is_admin"].DefaultValue =
    ((CheckBox)GridView1.FooterRow.FindControl("chkCredential")).Checked.ToString().ToLower();
于 2013-09-30T05:11:28.620 回答