Dropdownlist Databind自动设置选定的值?

时间:2013-02-18 16:55:08

标签: c# asp.net data-binding

我填写了一个包含活动目录用户的下拉列表,这并不是什么大不了的事情。问题是它正在设置<option selected="selected" value="user">User</option>  在第一个,不会让我在后面的代码中更改它。有没有办法阻止它自动设置selected="selected"

3 个答案:

答案 0 :(得分:2)

<asp:DropDownList ID="dlst" runat="server" Width="200px" 
          AutoPostBack="True" DataSourceID="dlstvalues" DataTextField="name" 
          AppendDataBoundItems="true">
   <asp:ListItem>-- Select --</asp:ListItem>
</asp:DropDownList>

或者这应该有效:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        DropDownList1.AppendDataBoundItems = true;
        DropDownList1.Items.Insert(0, new ListItem(String.Empty, String.Empty));
        DropDownList1.SelectedIndex = 0;
    }
}

答案 1 :(得分:0)

它会自动将第一个设置为选中状态。您必须在下拉列表中输入默认值并将其设置为第一个项目。

ddlName.Items.Insert(0, new System.Web.UI.WebControls.ListItem("<--Select-->", "0"));

答案 2 :(得分:0)

这很开心,因为你可能会在页面加载时绑定你的dorpdown 你可能不会检查回发
这样做会再次绑定值,您将在下拉列表中获得新项目 之前的selected index将不会保留。

你应该将它绑定在!isPostBack

if (!Page.IsPostBack)
{
    //bind data
}