我使用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();
}
}
`
Run Code Online (Sandbox Code Playgroud)
另请参阅下拉列表aspx代码供您参考.
<asp:UpdatePanel ID="FormUpdate" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddl_state" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<table>
<tr>
<td>State*</td>
<td>
<asp:DropDownList ID="ddl_state" runat="server" CssClass="cbfld-popup1" AutoPostBack="true" OnSelectedIndexChanged="ddl_state_SelectedIndexChanged">
<asp:ListItem Enabled="true" Selected="True" Text="Please select State"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td>District*</td>
<td>
<asp:DropDownList ID="ddl_district" CssClass="cbfld-popup1" runat="server">
<asp:ListItem Enabled="true" Selected="True" Text="Please select city"></asp:ListItem>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
Vig*_*r A 17
数据绑定后,执行以下操作:
ddl_state.Items.Insert(0, new ListItem("Select","NA")
Run Code Online (Sandbox Code Playgroud)
或者将其添加到标记中:
<asp:DropDownList .. AppendDataBoundItems="true">
<Items>
<asp:ListItem Text="Select" Value="" />
</Items>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)