我以前觉得我的c#编程还不错,但今天我在认真地质疑我的脑袋,这么小的东西正在打败我……
我正在尝试让 DropDownList 正常运行,但我们今天没有继续。我在 ascx 控件中有一个简单的 DropDownList,它被动态加载到 aspx 页面中
<asp:DropDownList ID="ddl_SortBy" runat="server" AutoPostBack="true">
<asp:ListItem Value="0">Sort Alphabetically A to Z</asp:ListItem>
<asp:ListItem Value="1">Sort Alphabetically Z to A</asp:ListItem>
</asp:DropDownList>
和后面的一些代码..
private short SortBy = 0;
protected void Page_Load(object sender, EventArgs e)
{
this.ddl_SortBy.SelectedIndex = -1;
this.ddl_SortBy.SelectedIndexChanged += new EventHandler(ddl_SortBy_SelectedIndexChanged);
if (!IsPostBack)
SearchDirectory();
}
public void ddl_SortBy_SelectedIndexChanged(object sender, EventArgs e)
{
SortBy = Convert.ToInt16(this.ddl_SortBy.SelectedItem.Value);
SearchDirectory();
}
我永远无法获得触发所选索引更改事件的第一项 - 因为未调用 SearchDirectory() 函数。我可以理解,当控件加载第一个项目时可能是这样的情况,因此在选择时,索引实际上并没有改变。
我尝试将所选项目索引设置为-1,并在页面加载时将 ClearSelection() 设置为,但没有运气。
有任何想法吗?谢谢