C# 显示所有值的下拉列表
我一直在asp.net上工作。我有一张网格视图的登记表。 网格视图包含dropdownlist(ddl)的id 当我选择网格视图时,所有值都必须显示在注册表的相应字段中。 对于ddl,从网格视图中的ddl id值,相应的下拉列表文本显示在dropdownlist中 问题出现在这里,下拉列表仅显示适当的值,并且无法单击并填充更新按钮C# 显示所有值的下拉列表,c#,asp.net,ado.net,C#,Asp.net,Ado.net,我一直在asp.net上工作。我有一张网格视图的登记表。 网格视图包含dropdownlist(ddl)的id 当我选择网格视图时,所有值都必须显示在注册表的相应字段中。 对于ddl,从网格视图中的ddl id值,相应的下拉列表文本显示在dropdownlist中 问题出现在这里,下拉列表仅显示适当的值,并且无法单击并填充更新按钮 如何同时用所有元素填充DROPDOWNLIST,突出显示适当的值,以实现选择,只需使用: ddlCompanyName.Items.FindByValue(dbCo
如何同时用所有元素填充DROPDOWNLIST,突出显示适当的值,以实现选择,只需使用:
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;
非常感谢您的帮助……但是显示错误FindByValue(dbCompany)的参数无效。我是C#的新手。如果dbCompany是一个初始化者,请对其使用
toString
方法进行任何其他更正
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;