下拉默认选择值

时间:2011-12-16 13:14:29

标签: c# asp.net

这是一个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";

这里需要改变什么?

由于

3 个答案:

答案 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

你仍然可以在后端执行数据绑定。