C# 如何在不刷新的情况下绑定多个dropdownlist?

C# 如何在不刷新的情况下绑定多个dropdownlist?,c#,asp.net,C#,Asp.net,如果不刷新,我的dropdownlist不会绑定。如果我选择一个dropdownlist,则另一个dropdownlist正在刷新。我必须在代码中添加额外的内容。谁能告诉我 protected void Page_Load(object sender, EventArgs e) { bindbranches(); bindbranches1(); } public void bindbranches() { DataTable dtbranch =

如果不刷新,我的dropdownlist不会绑定。如果我选择一个dropdownlist,则另一个dropdownlist正在刷新。我必须在代码中添加额外的内容。谁能告诉我

protected void Page_Load(object sender, EventArgs e)
{



        bindbranches();
        bindbranches1();

}
public void bindbranches()
{
    DataTable dtbranch = new DataTable();
    dtbranch = objsupplyBAL.getbrnch();

    ddlbranch.DataSource = dtbranch;
    ddlbranch.DataBind();
    ddlbranch.Items.Add(new ListItem("--select--", "0"));
    ddlbranch.SelectedIndex = ddlbranch.Items.Count - 1;

}
public void bindbranches1()
{
    DataTable dt = new DataTable();
    dt = objsupplyBAL.getbrnch();

    ddlbranch1.DataSource = dt;
    ddlbranch1.DataBind();
    ddlbranch1.Items.Add(new ListItem("--select--", "0"));
    ddlbranch1.SelectedIndex = ddlbranch1.Items.Count - 1;

}
如果你加上这个…它工作正常…首先试试这个


如果您添加此项…它工作正常…首先尝试此项…

如果您希望在更改一个下拉列表时填充另一个下拉列表,则必须将下拉列表的AutoPostBack属性设置为true,以便开始执行更改事件


Loot@

如果要在更改某个下拉列表时填充另一个下拉列表,则必须将下拉列表的AutoPostBack属性设置为true,以便开始执行更改事件


Loot@

发生这种情况的原因是,每次页面回发时,您都在运行代码,请尝试以下操作以仅填充项目一次(在初始页面加载时):

或者,您也可以处理
Page.Init
事件来运行此代码,这将在首次加载页面时更改下拉列表,并在后续回发过程中保留这些值:

protected void Page_Load(object sender, EventArgs e) {
    if (!this.IsPostBack) {
        bindbranches();
        bindbranches1();
    }
}
如果希望第二个下拉列表仅在选择第一个项目时刷新,请尝试以下解决方案:

protected void Page_Init(object sender, EventArgs e) {
    bindbranches();
    bindbranches1();
}

并将
ddlbranch\u SelectedIndexChanged
绑定到ddlbranch控件的SelectedIndexChanged事件。这将仅在最初加载页面时运行代码,并且当用户从ddlbranch下拉列表中选择一个项目时才会运行代码。发生这种情况的原因是每次页面回发时都要运行代码,请尝试以下操作以仅填充一次项(在初始页面加载时):

或者,您也可以处理
Page.Init
事件来运行此代码,这将在首次加载页面时更改下拉列表,并在后续回发过程中保留这些值:

protected void Page_Load(object sender, EventArgs e) {
    if (!this.IsPostBack) {
        bindbranches();
        bindbranches1();
    }
}
如果希望第二个下拉列表仅在选择第一个项目时刷新,请尝试以下解决方案:

protected void Page_Init(object sender, EventArgs e) {
    bindbranches();
    bindbranches1();
}

并将
ddlbranch\u SelectedIndexChanged
绑定到ddlbranch控件的SelectedIndexChanged事件。仅当页面最初加载时,以及当用户从ddlbranch下拉列表中选择项目时,才会运行代码。即使您可以使用级联下拉列表,也可以使用级联下拉列表。