我一直在使用asp.net。我有一个带网格视图的注册表单。 网格视图包含下拉列表(ddl)的ID。
当我选择网格视图时,所有值都必须以注册形式显示在相应的字段中。 对于ddl,从网格视图中的ddl id值开始,相应的下拉列表文本显示在下拉列表中。
问题就在这里,下拉列表只显示适当的值,并且不能点击并且不能更新按钮
cmd.CommandText = "SELECT * FROM COMPANY WHERE COMPANYID='" + dbCompany + "'";
txtTextBox1.Text = newcmpid;
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
ddlCompanyName.DataSource = dt;
ddlCompanyName.DataTextField = "COMPANYNAME";
ddlCompanyName.DataValueField = "COMPANYID";
ddlCompanyName.DataBind();
如何以相同的时间突显所有元素的下降列表突出显示适当的价值
答案 0 :(得分:1)
要实现选择,只需使用:
ddlCompanyName.Items.FindByValue(dbCompany).Selected = true;
但是你也应该注意到你的SQL查询很糟糕。它允许创建SQL注入攻击。而不是连接它你应该SQL params。
所以完整的代码可能是这样的:
cmd.CommandText = "SELECT * FROM COMPANY WHERE COMPANYID=@ID;";
cmd.Parameters.Add("@ID", SqlDbType.Int);
cmd.Parameters["@ID"].Value = dbCompany;
txtTextBox1.Text = newcmpid;
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
ddlCompanyName.DataSource = dt;
ddlCompanyName.DataTextField = "COMPANYNAME";
ddlCompanyName.DataValueField = "COMPANYID";
ddlCompanyName.DataBind();
ddlCompanyName.Items.FindByValue(dbCompany).Selected = true;