我有一个dropDownlist
,其名称为Datasource
,Datasource1
,Datasource2
。
当page_Load累积时,datasource1被分配给Dropdownlist
。当我点击按钮时,我在页面上有一个按钮,Datasource2在Dropdownlist
中分配给button click event
我写了这个:
Ddl_Num.DataSource = SqlDataSource8;
Ddl_Num.DataBind();
但它没有改变。 我怎么能这样做?
答案 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事件处理程序中做了什么吗?