Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示所有值的下拉列表_C#_Asp.net_Ado.net - Fatal编程技术网

C# 显示所有值的下拉列表

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

我一直在asp.net上工作。我有一张网格视图的登记表。 网格视图包含dropdownlist(ddl)的id

当我选择网格视图时,所有值都必须显示在注册表的相应字段中。 对于ddl,从网格视图中的ddl id值,相应的下拉列表文本显示在dropdownlist中

问题出现在这里,下拉列表仅显示适当的值,并且无法单击并填充更新按钮


如何同时用所有元素填充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;