C# 正在检索dropdownlist的text属性,但我得到了初始下拉项的文本
我有一个下拉列表,其中包含按ID列出的gridview项目。当我选择一个项目并尝试删除它时,显示的初始项目将被删除,而不是我选择的项目。以下是我的删除项目代码:-C# 正在检索dropdownlist的text属性,但我得到了初始下拉项的文本,c#,C#,我有一个下拉列表,其中包含按ID列出的gridview项目。当我选择一个项目并尝试删除它时,显示的初始项目将被删除,而不是我选择的项目。以下是我的删除项目代码:- protected void btn_delete_Click(object sender, EventArgs e) { try { string[] titleAndID = DropDownList1.Text.Split(new string[] { "-_-" }, StringSpl
protected void btn_delete_Click(object sender, EventArgs e)
{
try
{
string[] titleAndID = DropDownList1.Text.Split(new string[] { "-_-" }, StringSplitOptions.None);
string ID = titleAndID[1];
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter("select * from lol_list where ID=@ID", conn);
sda.SelectCommand.Parameters.AddWithValue("@ID", Convert.ToInt32(ID));
conn.Close();
DataTable dt = new DataTable();
sda.Fill(dt);
string picPath = Server.MapPath("~/wPics/") + dt.Rows[0][1].ToString();
if (File.Exists(picPath))
File.Delete(picPath);
SqlCommand cmd = new SqlCommand("delete from lol_list where ID=@ID", conn);
cmd.Parameters.AddWithValue("@ID", Convert.ToInt32(ID));
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
populate_dd();
Label1.Text = "Deleted!";
Label1.Visible = true;
lbl_error.Visible = false;
}
catch (Exception ex)
{
lbl_error.Text = ex.Message;
lbl_error.Visible = true;
}
}
您似乎在DataAdapter填充DataTable之前关闭了连接。这不会引发异常吗?有没有理由不只是将下拉列表绑定到集合并使用selecteditem?是否检查了调试器以查看“ID”是什么值?默认情况下,您只获取列表中的第一项并将其拆分。默认情况下,这是所选的项…它接受最初显示的项的下拉列表文本。在调用此方法之前,是否重新填充ddl?