下拉列表显示所有值
本文关键字:列表显示 | 更新日期: 2023-09-27 18:16:18
我一直在研究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();
如何用所有元素填充下拉列表,同时突出显示适当的值
只需使用:
ddlCompanyName.Items.FindByValue(dbCompany).Selected = true;
但是你也应该注意到你的SQL查询是危险的。它允许创建SQL注入攻击。而不是连接它,你应该SQL参数。
所以完整的代码可以是这样的: 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;