我的ASP.NET DropDownList不起作用

时间:2015-07-06 09:58:52

标签: c# asp.net autopostback

我想在面板中创建一个DropDownList。这是我在codebehind文件中的代码。但是如果我执行它,它总是说:“在DropdownList中,不允许进行多项选择。”我是否必须对autopostback做些什么?因此,当我想要选择“全部”以外的其他内容时会出现错误。

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>

1 个答案:

答案 0 :(得分:4)

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

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