C# Dropdownlist asp.net无法正常工作

C# Dropdownlist asp.net无法正常工作,c#,asp.net,drop-down-menu,webforms,C#,Asp.net,Drop Down Menu,Webforms,我的分数如下: <asp:DropDownList ID="ddlTownships" DataTextField="Name" AutoPostBack="True" AppendDataBoundItems="True" DataValueField="Id" runat="server" OnSelectedIndexChanged="ddlTownships_SelectedIndexChanged"> <asp:List

我的分数如下:

<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>
基本上,每当用户从DDLRegory中选择一个项目时,我都会选择regionId并重新填充dropdownlist。但是,DDL乡镇会记住以前选择的具有不同地区的乡镇。请注意,我有AppendDataBoundItems=“True”属性,因为这是我添加列表项的唯一方法,其中显示“请选择一个镇”。如何保留标记中定义的listitem,并防止在重新填充ddl后显示以前的项


谢谢您的时间。

您可以在代码隐藏中的特定索引处插入新列表项。因此,您可以删除
AppendDataBoundItems
,并在数据绑定后添加:

ddlTownships.Items.Insert(0, new ListItem() { Text = "Please select a township", Value = "0" });
ddlTownships.Items.Clear();
另一个需要了解的有用信息是,可以在数据绑定之前清除列表:

ddlTownships.Items.Insert(0, new ListItem() { Text = "Please select a township", Value = "0" });
ddlTownships.Items.Clear();

您可以在代码隐藏中的特定索引处插入新列表项。因此,您可以删除
AppendDataBoundItems
,并在数据绑定后添加:

ddlTownships.Items.Insert(0, new ListItem() { Text = "Please select a township", Value = "0" });
ddlTownships.Items.Clear();
另一个需要了解的有用信息是,可以在数据绑定之前清除列表:

ddlTownships.Items.Insert(0, new ListItem() { Text = "Please select a township", Value = "0" });
ddlTownships.Items.Clear();

您是否在
Page\u Init
Page\u Load
事件中的
DropDownList
中插入任何时间?为了使此代码正常工作,您不应该在
ddlRegions\u SelectedIndexChanged
中添加项目,而应该在
Page\u Init
中检查所选项目,并根据它重新填充第二个列表。您是否在
Page\u Init
Page\u Load
事件中的
下拉列表中插入任何时间?为了使此代码正常工作,您不应该在
ddlRegions\u SelectedIndexChanged
中添加项目,而应该在
Page\u Init
中检查所选项目,并在此基础上重新填充第二个列表。是的,我同时想出了insert()方法。然而,你的答案是正确的。谢谢你,我同时想出了insert()方法。然而,你的答案是正确的。谢谢