2013-10-03 44 views
2
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; 

} 

我的下拉列表没有刷新没有绑定。如果我选​​择一个dropdownlist另一个刷新。我必须额外添加到我的代码中。任何一个可以告诉...如何在不刷新的情况下绑定多个dropdownlist?

回答

3
protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!IsPostBack) 
{ 

    bindbranches(); 
    bindbranches1(); 
    } 
} 

如果添加此...这是正常工作......第一次尝试这个...

1

正在发生的是你正在运行每次页面postsback代码的原因,尝试以下仅填充项目一次(在初始页面加载):

protected void Page_Load(object sender, EventArgs e) { 
    if (!this.IsPostBack) { 
     bindbranches(); 
     bindbranches1(); 
    } 
} 

另外,您还可以处理Page.Init事件来运行这段代码,这将改变的下拉列表中第一次加载页面时,将保持的值在随后的回传:

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

如果你想第二个下拉仅在选择第一项刷新,请尝试以下解决方案:

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

和BIND ddlbranch_SelectedIndexChanged到ddlbranch控件的选定索引更改事件。这将只运行代码当最初加载页面,当用户从下拉ddlbranch选择一个项目

相关问题