动态更改DropdownList数据源

时间:2012-01-31 07:17:27

标签: c# asp.net

我有一个dropDownlist,其名称为DatasourceDatasource1Datasource2。 当page_Load累积时,datasource1被分配给Dropdownlist。当我点击按钮时,我在页面上有一个按钮,Datasource2在Dropdownlist中分配给button click event我写了这个:

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

但它没有改变。 我怎么能这样做?

4 个答案:

答案 0 :(得分:1)

尝试使用!isPostBack与Session

的组合
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; 
}

答案 1 :(得分:0)

设置AutoPostBack="True"。例如。

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

答案 2 :(得分:0)

你要填充Dasource2。当您单击按钮或在页面中的其他位置使用数据源的全局声明(可能是页面加载事件)时,可以执行此操作。最好你在button_click事件中为它编写代码。对你的按钮,autopostback = true。然后首先清除下拉列表,然后将数据源绑定到dropdownlist。对于下拉列表和按钮,将runat =“server”和autopostback =“true”绑定。你什么时候填充datasource2?在哪个事件?

答案 3 :(得分:0)

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