当前位置:  开发笔记 > 编程语言 > 正文

有没有更好的方法来填充多个下拉列表?

如何解决《有没有更好的方法来填充多个下拉列表?》经验,为你挑选了1个好方法。

我需要填充几个DropDownList,并且我搜索更好的方法来执行此操作,因为我有8个DropDownList来填充.在我看来,这不是最好的方法,你有8倍相同的代码...可以使用循环?

public partial class MainPage : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        DropDownList();
    }

    public void DropDownList()
    { 
        string filePath = Server.MapPath("~/Datas.xml");
        using (DataSet ds = new DataSet())
        {
            ds.ReadXml(filePath);
            DropDownList1.DataSource = ds;
            DropDownList1.DataTextField = "name";
            DropDownList1.DataValueField = "id";
            DropDownList1.DataBind();

            DropDownList2.DataSource = ds;
            DropDownList2.DataTextField = "name";
            DropDownList2.DataValueField = "id";
            DropDownList2.DataBind();

            //Then DropDownList3, 4, 5, 6....8
        }
    }
}

这是与我的用户的XML:

    

  
    1
    User1
  
  
    2
    User2
  
  
    3
    User3
  
  
    4
    User4
  

Andrei.. 5

把它们放在一个数组中:

DropDownList[] ddls = new DropDownList[]{
    DropDownList1, DropDownList2,
    DropDownList3, DropDownList4,
    ...
};

并循环通过它:

foreach (DropDownList ddl in ddls)
{
    ddl.DataSource = ds;
    ddl.DataTextField = "name";
    ddl.DataValueField = "id";
    ddl.DataBind();
}

但需要注意的是 - 在UI方面,您最终会得到8个相同的下拉菜单吗?是否有可能为他们使用某种中继器?



1> Andrei..:

把它们放在一个数组中:

DropDownList[] ddls = new DropDownList[]{
    DropDownList1, DropDownList2,
    DropDownList3, DropDownList4,
    ...
};

并循环通过它:

foreach (DropDownList ddl in ddls)
{
    ddl.DataSource = ds;
    ddl.DataTextField = "name";
    ddl.DataValueField = "id";
    ddl.DataBind();
}

但需要注意的是 - 在UI方面,您最终会得到8个相同的下拉菜单吗?是否有可能为他们使用某种中继器?

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有