基本上我使用可编辑的Listview
从现有数据库绑定textboxes
。 &安培;我有两个不同的按钮用于更新数据。我在下面的方法中更新了listview
数据&在button
点击上调用此方法。方法gets
同时调用了buttons
,但问题是数据只在一个button
上更新。如果两个按钮调用相同的方法然后它只能用于一次按钮怎么可能。
e.g。
Button1 - 调用updateExistingAirContract
Button2 - 调用updateExistingAirContract
假设我更改textbox
&的任何值调用此方法然后它应该采取我放的值而不是旧值。在按钮1上单击它取值我放&在button2上单击仍然采用旧值。以下是我的方法。
private void updateExistingAirContract()
{
if (airContractsList.Items.Count > 0) {
try {
foreach (ListViewDataItem item in airContractsList.Items) {
CheckBox chkAirList = item.FindControl("chkAirList") as CheckBox;
TextBox airOriginList = item.FindControl("airOriginList") as TextBox;
TextBox airDestinationList = item.FindControl("airDestinationList") as TextBox;
TextBox flightNoList = item.FindControl("flightNoList") as TextBox;
TextBox airServiceTypeList = item.FindControl("airServiceTypeList") as TextBox;
TextBox airWeightList = item.FindControl("airWeightList") as TextBox;
TextBox airRateList = item.FindControl("airRateList") as TextBox;
MySqlConnection con = new MySqlConnection();
MySqlCommand cmd = new MySqlCommand();
con.ConnectionString = ConfigurationManager.ConnectionStrings("conio").ConnectionString();
cmd.Connection = con;
con.Open();
cmd.CommandText = "UPDATE contracts SET origin = @origin, destination = @destination, vehicleNo = @vehicleNo, serviceType = @servicetype, weight = @weight, rate = @rate, contractFrom = @contractFrom, contractTo = @contractTo, creditPeriod = @creditPeriod WHERE ID = @ID";
cmd.Parameters.AddWithValue("@origin", airOriginList.Text);
cmd.Parameters.AddWithValue("@destination", airDestinationList.Text);
cmd.Parameters.AddWithValue("@vehicleNo", flightNoList.Text);
cmd.Parameters.AddWithValue("@serviceType", airServiceTypeList.Text);
cmd.Parameters.AddWithValue("@weight", airWeightList.Text);
cmd.Parameters.AddWithValue("@rate", airRateList.Text);
cmd.Parameters.AddWithValue("@contractFrom", contractFrom.Text);
cmd.Parameters.AddWithValue("@contractTo", contractTo.Text);
cmd.Parameters.AddWithValue("@creditPeriod", contractFrom.Text + " - " + contractTo.Text);
cmd.Parameters.AddWithValue("@ID", chkAirList.ToolTip);
cmd.ExecuteNonQuery();
}
bindAirContractsLists();
} catch (Exception ex) {
Response.Write(ex);
}
}
}
我在此方法中放置了断点&可以看到文本框的值。