我的 ASP.NET DropDownList 不工作

My ASP.NET DropDownList is not working

我想在面板中创建一个 DropDownList。这是代码隐藏文件中的代码。但是如果我执行它,它总是说:"in DropdownList it is not allowed to make multiple selections." 我必须对自动回发做些什么吗?所以当我想要 select 除了 "All".

以外的东西时,错误就来了
DropDownList1.DataTextField = "Kanal";
DropDownList1.DataValueField = "Kanal";
DropDownList1.AppendDataBoundItems = true;
ListItem limDefault = new ListItem();

limDefault.Selected = true;
limDefault.Text = "All";
limDefault.Value = "-1";


            DropDownList1.Items.Add(limDefault);

那么这是我的 ASP.NET 代码:

<asp:Panel ID="Panel1" runat="server"> 
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CR_SQL %>" SelectCommand="Select * from table" >
    </asp:SqlDataSource>
    <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1"  AutoPostBack="True">
    </asp:DropDownList>
</asp:Panel>

我猜你在每次回发时都执行了第一个代码段,每次都会添加默认项。仅在页面第一次加载时执行此操作,因此使用 Page.IsPostBack 检查:

if(!IsPostBack)
{
    ListItem limDefault = new ListItem();
    limDefault.Selected = true;
    limDefault.Text = "All";
    limDefault.Value = "-1";
    DropDownList1.Items.Add(limDefault);
}