【发布时间】:2018-06-04 11:27:25
【问题描述】:
我正在开发一个 Web 表单,在其中显示带有数据的 Gridview。其中一列由 CheckBox 组成。如何更新特定行中的数据。
所以我的问题是:
当用户选中或取消选中复选框时,如何识别特定行并发送带有 UPDATE 的 sql 请求?
更新: 这是我的代码。它不会更新 CheckBox 的值。 命名空间:
public partial class Call_Bills : System.Web.UI.Page
{
SqlConnection con = new SqlConnection();
string check;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button_Submit(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView2.Rows)
{
con.ConnectionString = ConfigurationManager.ConnectionStrings["TestDeductionsConnectionString2"].ToString();
con.Open();
bool private1 = (row.FindControl("CheckBox1") as CheckBox).Checked;
if (private1 == true)
{
check = "1";
}
else
{
check = "0";
}
SqlCommand cmd = new SqlCommand("insert into DetailCosts(private) values(@private)", con);
cmd.Parameters.AddWithValue("@private", check);
cmd.ExecuteNonQuery();
}}
GridView 的名称是:GridView2; 表中复选框的名称:私有; Gridview中CheckBox的id是:
<asp:TemplateField HeaderText="Private" SortExpression="private">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("private") %>' />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
【问题讨论】:
-
你可以谷歌“CommandName”和“CommandArgument”并从那里开始。
-
用户不会按任何按钮来检查复选框,它应该是动态的
标签: c# asp.net .net visual-studio webforms