我有以下加價:DROPDOWNLIST asp.net工作不正常
<asp:DropDownList ID="ddlTownships" DataTextField="Name" AutoPostBack="True" AppendDataBoundItems="True" DataValueField="Id" runat="server" OnSelectedIndexChanged="ddlTownships_SelectedIndexChanged">
<asp:ListItem Value="0" Text="Please select a township"></asp:ListItem>
</asp:DropDownList>
,這是後面的代碼:
protected void ddlRegions_SelectedIndexChanged(object sender, EventArgs e)
{
var townshipDAO = (TownshipDAO)FactoryDAO.getInstance().getDAOByType(DAOEnum.Township);
ddlTownships.DataSource = townshipDAO.getAllTownshipsByRegionId(Int64.Parse(ddlRegions.SelectedValue));
ddlTownships.DataBind();
liTownships.Visible = true;
liSettlements.Visible = false;
divPhasesConsole.Visible = false;
liNumberOfStands.Visible = false;
divFirstDelimiter.Visible = false;
}
基本上每當用戶從ddlRegion選擇一個項目,我得到所有選定區域的鄉鎮,並重新填充下拉列表。然而,ddlTownships記得以前選擇的不同地區的鄉鎮。請注意,我有屬性AppendDataBoundItems =「True」,因爲這是我添加一個列表項「請選擇一個鄉鎮」的唯一方法。我如何離開在標記中定義的列表項目,並防止在ddl重新填充後顯示以前的項目。
謝謝你的時間。
您插入任何時候進入這些'DropDownList'在'Page_Init'或'Page_Load'事件中?爲了使這段代碼起作用,你不應該在'ddlRegions_SelectedIndexChanged'中添加項目,而是在'Page_Init'中檢查一個選定的項目,並根據它重新填充第二個列表。 –