如何添加下拉列表默认值

我使用asp.net从sql表获取数据到下拉列表。 问题是,当我将默认选择提供给下拉列表时。 它不采用默认值。 请参阅代码

protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { conn.Open(); SqlCommand cmd = new SqlCommand("select * from States_agri", conn); SqlDataReader dr = cmd.ExecuteReader(); ddl_state.DataSource = dr; ddl_state.Items.Clear(); ddl_state.Items.Add("--Please Select state--"); ddl_state.DataTextField = "StateName"; ddl_state.DataValueField = "StateID"; ddl_state.DataBind(); conn.Close(); } } ` 

另请参阅下拉列表aspx代码供您参考。

      
State*
District*

数据绑定后,执行以下操作:

 ddl_state.Items.Insert(0, new ListItem("Select","NA") 

或者将其添加到标记中:

      

你必须在Databind之后使用下面的menioned代码

 ddl_state.Items.Insert(0, new ListItem("--Please Select state--", "0")); 
 ddl_state.Items.Insert(0, new ListItem("Select","NA") 

您需要在下拉列表中设置AppendDataBoundItems="true"属性

    

如果你想从数据库den中获取数据,这将有所帮助:

   Package       

您可以在DropDownList的声明中将AppendDataBoundItems设置为true

< asp:DropDownList AppendDataBoundItems=”true” …>

这是必需的,因为它在MSDN中有说明

AppendDataBoundItems属性允许您数据绑定发生之前将项添加到ListControl对象。

请看这里 。

AppendDataBoundItems属性允许您在数据绑定发生之前将项添加到ListControl对象。

如果我们这样做,那么它将从数据库中追加项目,只要我们选择并从列中重载所有值,就会在列中添加所有项目。

请考虑以下示例:1。DDL国家[如果我们将选择DDLcountry以便它应该反映DDLState] 2. DDL状态[如果我们将选择DDLstate以便它应该反映DDLcity] 3. DDL City

但每当我们选择新的DDLcountry时,DDLState应该用’–select state–‘重新选择,DDLcity应该是’ – 选择City–‘