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