从ASP.NET C#中的数据库设置数据时,下拉所选索引已更改的事件触发

时间:2018-11-21 04:40:51

标签: c# asp.net

我在更新面板中显示了一些下拉列表。当我选择下拉菜单项时,选定的索引更改事件将触发以填充其他下拉菜单,并且数据将保存并在提交时显示在网格中。当我选择要编辑的网格行时,将使用数据库数据设置下拉列表。现在一切正常。但是,当我选择具有回发功能的其他控件时,该下拉列表的选定索引更改事件将在不选择项目的情况下触发,并且将其他下拉列表的数据重置为索引0。为什么在未选择下拉列表的情况下触发该事件?请帮忙。

<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 { }
}

1 个答案:

答案 0 :(得分:-1)

使用

if(!Postback)
{
    // Insert your code
}