动态更改下拉列表数据源

本文关键字:数据源 下拉列表 动态 | 更新日期: 2023-09-27 18:22:02

我有一个dropDownlist,它有两个名为Datasource1Datasource2Datasource。当page_ Load累积时,数据源1被分配给CCD_。我在页面上有一个按钮,当我点击按钮时,我想要它,数据源2分配给button click event中的Dropdownlist,我写了这样的:

Ddl_Num.DataSource = SqlDataSource8;
      Ddl_Num.DataBind();

但它没有改变。我该怎么做?

动态更改下拉列表数据源

尝试使用!isPostBack与会话的组合

protected void Page_Load(object sender, EventArgs e)
{
    if (!isPostBack || Session["DataSource"] = null)        
    {
         Ddl_Num.DataSource = SqlDataSource1;//DataSource1
         Ddl_Num.DataBind(); 
    }
}
protected void Btn_Click(object sender, EventArgs e)
{
    Ddl_Num.DataSource = SqlDataSource2;//DataSource2
    Ddl_Num.DataBind();
    Session["ChangeDataSource"] = true; 
}

设置AutoPostBack="True"。例如

<asp:DropDownList ID="ddlList" runat="server" AutoPostBack="True" ></asp:DropDownList>

您必须填充Dasource2。这可以在单击按钮时完成,也可以在页面的其他位置(可能是页面加载事件)全局声明数据源。最好在button_click事件中为其编写代码。将按钮的autopostback设置为true。然后先清除dropdownlist,然后将数据源绑定到您的dropdownlist。为dropdownlist和button设置runat="server"和autopostback="true"。您何时填充数据源2?在哪种情况下?

您在PreRender事件处理程序中做了什么吗?