1

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

4

3 回答 3

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;
    }
}
于 2013-02-18T16:58:44.287 回答
0

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

ddlName.Items.Insert(0, new System.Web.UI.WebControls.ListItem("<--Select-->", "0"));
于 2013-02-18T16:57:47.787 回答
0

这是发生的,因为您可能在页面加载时绑定了 dorpdown。
而且您可能没有检查回发
这样做,它会再次绑定值,您将在下拉列表中获得新项目。
以前的selected index不会保留。

你应该在 !isPostBack 中绑定它

if (!Page.IsPostBack)
{
    //bind data
} 
于 2013-02-18T16:58:25.170 回答