C# 如何在编辑中将下拉列表值和项设置为数据库表值?
当我单击编辑按钮时,表单将填充文本框中的数据库值以及下拉列表 文本框值已设置。但是我不能设置dropdownlist的值 代码是C# 如何在编辑中将下拉列表值和项设置为数据库表值?,c#,asp.net,C#,Asp.net,当我单击编辑按钮时,表单将填充文本框中的数据库值以及下拉列表 文本框值已设置。但是我不能设置dropdownlist的值 代码是 SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); con.Open(); string str = "Select * from M
SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con.Open();
string str = "Select * from Master where Id='" + id + "'";
SqlCommand command = new SqlCommand(str, con);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
ddCustomerName.DataValueField = reader["CustomerId"].ToString();
txtPickupLocation.Text = reader["Location"].ToString();
}
con.Close();
您必须在列表中选择CustomerId,为此您必须编写
ddCustomerName.Items.FindByValue(reader["CustomerId"].ToString()).selected=true;
而不是
ddCustomerName.DataValueField = reader["CustomerId"].ToString();
您必须在列表中选择CustomerId,为此您必须编写
ddCustomerName.Items.FindByValue(reader["CustomerId"].ToString()).selected=true;
而不是
ddCustomerName.DataValueField = reader["CustomerId"].ToString();
嘿,Saranya之前的帖子是完美的,但如果下拉列表值与DB值不匹配,或者DB返回的下拉列表值不匹配,那么它会给出错误,所以更安全的一面总是检查null值 请使用此代码
if (ddCustomerName.Items.FindByValue(reader["CustomerId"].ToString()) != null)
dddCustomerName.Items.FindByValue(reader["CustomerId"].ToString()).selected = true;
嘿,Saranya之前的帖子是完美的,但如果下拉列表值与DB值不匹配,或者DB返回的下拉列表值不匹配,那么它会给出错误,所以更安全的一面总是检查null值 请使用此代码
if (ddCustomerName.Items.FindByValue(reader["CustomerId"].ToString()) != null)
dddCustomerName.Items.FindByValue(reader["CustomerId"].ToString()).selected = true;