这是一个Dropdown控件,我绑定数据,绑定后我将select语句。即使索引保持为0,总是选择最后像这样:
当前输出:
india
Auz
US
--select--
必需的输出:
--select--
india
AUZ
US
我的代码
ddlcounty.DataSource = dtNew;
ddlcounty.DataTextField = "Weight";
ddlcounty.DataValueField = "Weight";
ddlcounty.DataBind();
ddlcounty.Items.Add("--Select--");
ddlcounty.SelectedValue = "0";
这里需要改变什么?
由于
答案 0 :(得分:1)
你先做绑定。
当你到达添加默认条件的部分时,实际上你正在添加到列表的末尾。
而不是: -
ddlcounty.Items.Add("--Select--");
做: -
ddlcounty.Items.Insert(0, new ListItem("--Select--"));
这会将您的默认选项插入项的第一个元素。
宣布修改
您不需要: -
ddlcounty.SelectedValue = 0;
..如果您没有明确指定,则会自动选择下拉列表中的第一项。
但是,如果您想明确它,可以执行以下操作: -
ddlcounty.Items.Insert(0, new ListItem("--Select--","0"));
ddlcounty.SelectedValue = 0;
答案 1 :(得分:0)
请您尝试以下方式:
只需将AppendDataBoundItems
设为true,然后在选择项目时选择ListItem
和'ClearSelection',如下所示。
ddlcounty.AppendDataBoundItems = true;
ddlcounty.DataSource = dtNew;
ddlcounty.DataTextField = "Weight";
ddlcounty.DataValueField = "Weight";
ddlcounty.DataBind();
ddlcounty.ClearSelection();
ddlcounty.Items.Insert(0, new ListItem { Value = "0", Text = "--Select--", Selected = true });
ddlcounty.SelectedValue = "0";
答案 2 :(得分:0)
您也可以在aspx页面中以声明方式声明“select one”ListItem
<asp:DropDownList ID="ddUIC" runat="server" AppendDataBoundItems="true" Width="200px" BackColor="White" Font-Size="10px" SelectedValue='<%# Bind("Weight") %>' DataTextField="Weight" DataValueField="Weight" >
<asp:ListItem Text="Select One" Value=""></asp:ListItem>
/asp:DropDownList>
但是您的AppendDataBoundItems
必须设置为true
你仍然可以在后端执行数据绑定。