C# 使用特定值加上sql查询中的值数组填充dropdownlist
我对dropdownlists这个奇妙的世界还很陌生,我知道这对我来说很难解释,但我会尽我所能 以下是我的数据:C# 使用特定值加上sql查询中的值数组填充dropdownlist,c#,asp.net,C#,Asp.net,我对dropdownlists这个奇妙的世界还很陌生,我知道这对我来说很难解释,但我会尽我所能 以下是我的数据: **类型****ID****状态** 信1 A 信2 B 信3 C 信4 D 信5 E 从我的查询结果中,我返回ID“3”,我的下拉列表显示“C”。我已经完成了这篇文章:)。我的问题是,如何用状态填充dropdownlist?我的DDL将显示一个“C”,单击箭头时,将显示其余的状态值 这是sql查询可以完成的吗?我必须创建一个单独的方法吗?如果有人能给我指出正确的方向,或者提供一些
**类型****ID****状态**
信1 A
信2 B
信3 C
信4 D
信5 E
从我的查询结果中,我返回ID“3”,我的下拉列表显示“C”。我已经完成了这篇文章:)。我的问题是,如何用状态填充dropdownlist?我的DDL将显示一个“C”,单击箭头时,将显示其余的状态值
这是sql查询可以完成的吗?我必须创建一个单独的方法吗?如果有人能给我指出正确的方向,或者提供一些有用的代码,那就太棒了!这是我的密码:
SqlDataAdapter adapter = new SqlDataAdapter("SELECT Status FROM dbo.database WHERE ID = @ID AND Type = 'Letter'", mySqlConnection1);
adapter.SelectCommand.Parameters.Add("@ID", SqlDbType.Char).Value = lblID.Text;
adapter.Fill(test);
ddlStatus.DataSource = test;
ddlStatus.DataTextField = "Status";
ddlStatus.DataValueField = Status";
ddlStatus.DataBind();
我想你要找的是SelectedValue
ddlStatus.DataSource = test;
ddlStatus.DataTextField = "Status";
ddlStatus.DataValueField = "ID";
ddlStatus.DataBind();
//Add this line
string defaultValue = "3";
ddlStatus.SelectedValue = defaultValue; //C has ID of 3
我想这就是你想要的:
SqlDataAdapter adapter = new SqlDataAdapter(
"SELECT ID, Status FROM dbo.database WHERE Type = 'Letter'",
mySqlConnection1);
adapter.Fill(test);
ddlStatus.DataSource = test;
ddlStatus.DataTextField = "Status";
ddlStatus.DataValueField = "ID";
ddlStatus.DataBind();
ddlStatus.SelectedValue = lblID.Text;
首先,用所需的值填充下拉列表,然后设置SelectedValue以自动显示该值。据我所知,您希望向用户显示状态,但实际选择的值应该是ID
根据您对ViewState的使用情况,您可能只需要加载DropDownList一次(当页面首次加载时),然后简单地设置SelectedValue。(您需要在第二次加载页面时重新加载列表。使用
IsPostBack
值确定是否重新加载)。但是,每次重新加载都没有什么害处,只是页面加载时间增加了几分之一秒。他们感谢cyborg。我正在研究你的解决方案,过几天会给你回复。