我想在面板中创建一个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>
答案 0 :(得分:4)
我猜你会在每次回发时执行第一个片段,每次都会添加默认项目。仅在页面第一次加载时执行此操作,因此请使用Page.IsPostBack
检查:
if(!IsPostBack)
{
ListItem limDefault = new ListItem();
limDefault.Selected = true;
limDefault.Text = "All";
limDefault.Value = "-1";
DropDownList1.Items.Add(limDefault);
}