C# 在asp.net c中设置数据库中的数据时触发下拉选择的已更改索引事件#
我在更新面板中有一个下拉列表,显示了一些列表。当我选择下拉项时,选中的“索引已更改”事件触发,以填充其他下拉列表,数据在提交时保存并显示在网格中。选择要编辑的网格行时,将使用数据库数据设置下拉列表。现在一切都好了。但当我通过回发选择其他控件时,该下拉列表的selected index changed事件将在不选择项的情况下触发,并使用索引0的数据重置其他下拉列表。为什么不选择下拉菜单就触发此事件?请帮忙C# 在asp.net c中设置数据库中的数据时触发下拉选择的已更改索引事件#,c#,asp.net,C#,Asp.net,我在更新面板中有一个下拉列表,显示了一些列表。当我选择下拉项时,选中的“索引已更改”事件触发,以填充其他下拉列表,数据在提交时保存并显示在网格中。选择要编辑的网格行时,将使用数据库数据设置下拉列表。现在一切都好了。但当我通过回发选择其他控件时,该下拉列表的selected index changed事件将在不选择项的情况下触发,并使用索引0的数据重置其他下拉列表。为什么不选择下拉菜单就触发此事件?请帮忙 <asp:DropDownList ID="ddl" runat="server" A
<asp:DropDownList ID="ddl" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ddl_SelectedIndexChanged">
</asp:DropDownList>
protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
Fillddl();
}
public void Fillddl()
{
try
{
DataSet ds_ddl = _BLL.get_AllItems(ddl.SelectedValue);
if (ds_ddl != null)
{
if (ds_ddl .Tables[0].Rows.Count > 0)
{
ddl2.DataSource = ds_ddl.Tables[0].DefaultView;
ddl2.DataTextField = "NAME";
ddl2.DataValueField = "ID";
ddl2.DataBind();
}
}
ddl2.Items.Insert(0, new ListItem("Select", "0"));
ddl2.Dispose();
}
catch { }
}
受保护的无效ddl\u SelectedIndexChanged(对象发送方,事件参数e)
{
Fillddl();
}
公共void Fillddl()
{
尝试
{
数据集ds_ddl=_BLL.get_AllItems(ddl.SelectedValue);
if(ds_ddl!=null)
{
if(ds_ddl.Tables[0].Rows.Count>0)
{
ddl2.DataSource=ds_ddl.Tables[0].DefaultView;
ddl2.DataTextField=“NAME”;
ddl2.DataValueField=“ID”;
ddl2.DataBind();
}
}
ddl2.Items.Insert(0,新列表项(“选择”,“0”));
ddl2.Dispose();
}
捕获{}
}
使用
请添加您的代码是否绑定页面加载中的第一个ddl?如果是,您是否在Page.IsPostBack检查中保留了绑定代码?ddl2.Dispose()在代码中做什么?Dispose()释放内存
if(!Postback)
{
// Insert your code
}