私はこれで立ち往生しています。グリッドビューと 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;
Aspx
<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>
それを機能させるには?いくつかの助けをいただければ幸いです。