我一直在研究asp.net。我有一张有网格视图的登记表。网格视图包含下拉列表id (Ddl)。
当我选择网格视图时,所有的值都必须在注册表单中的适当字段中显示。对于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();
如何使用所有元素填充DROPDOWNLIST,同时突出显示适当的值
发布于 2015-10-06 23:08:33
要实现选择,只需使用:
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;
https://stackoverflow.com/questions/32985799
复制相似问题