复选框列表循环不起作用

本文关键字:不起作用 循环 列表 复选框 | 更新日期: 2023-09-27 18:28:44

我在asp.net页面中有一个dropdownlist控件和一个按钮。下拉列表是通过一个方法填充的。如果我选择了第一个项目以外的任何项目,在单击按钮后,我会在DDL中丢失所选项目,它会选择第一个项目,而且我只在按钮单击事件中获得第一个项目的值。我该如何解决这个问题?

 <asp:DropDownList ID="userDropDown" runat="server" DataTextField="CustomerName"  DataValueField="CustomerId">
</asp:DropDownList>
protected void Button1_Click(object sender, EventArgs e)
{
if(!page.isPostBack)
{
    userDropDown.DataSource = CC.GetCustomers();
    userDropDown.DataBind();
}
}

复选框列表循环不起作用

我认为您必须在Page_Load事件中无条件绑定userDropDownif (!IsPostBack)

请将dropdown binding part置于if (!IsPostBack)条件内,然后它应该工作

请在if(!ispostback){}或提交按钮后,请将更新的字段绑定到dropdownloadname.text

这听起来像是在根据任何请求将DropdownList绑定到数据源。相反,只有当Page.IsPostBack为false时才绑定它,如下所示;(您可能不需要ObjectDataSource

protected void Page_Load(object sender, EventArgs e)
{
   if (!Page.IsPostBack)
   {
     //bind your datasource here (something like below)
     userDropDown.DataSource = GetCustomers();
     userDropDown.DataBind();
   }
}

一旦调用DataBind()方法,它将丢失该对象的已发布数据,并且默认情况下将选择FirstItem。