C# 如何在编辑中将下拉列表值和项设置为数据库表值?

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

当我单击编辑按钮时,表单将填充文本框中的数据库值以及下拉列表

文本框值已设置。但是我不能设置dropdownlist的值

代码是

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;