如何将List绑定到DropDownList

时间:2014-12-21 18:01:30

标签: c# asp.net generics

我编写了一个在网站上有一个方法的类,它将我的数据库的实体对象列表绑定到DropDownList,如下所示:

 internal static void bind(List<Book> list, DropDownList ddl)
 {
   try
   {
           ddl.Items.Clear();
           ddl.Items.Add(li);// li is an ListItem Like -> ListItem("Please                    Select","");
           ddl.DataSource = list;
           ddl.DataBind();
   }
   catch (Exception)
    { }

}

当我想绑定另一个像List或...的对象时,我必须编写另一个方法,只是列出了区别。 是否有任何方法可以编写一个方法来绑定我的asp.net中的所有列表Sit和evry time我希望我可以将其绑定到另一个页面中?

1 个答案:

答案 0 :(得分:0)

你有几个选择。

1。使用IEnumerable作为参数类型

这允许您接受列表以及其他可枚举类型。除非您出于某种原因只需要接受列表,否则我会建议这样做。

internal static void bind(IEnumerable list, DropDownList ddl)
{
    try
    {
        ddl.Items.Clear();
        ddl.Items.Add(li);
        ddl.DataSource = list;
        ddl.DataBind();
    }
    catch (Exception)
    { }
}

2。使用通用方法。

internal static void bind<T>(List<T> list, DropDownList ddl)
{
    try
    {
        ddl.Items.Clear();
        ddl.Items.Add(li);
        ddl.DataSource = list;
        ddl.DataBind();
    }
    catch (Exception)
    { }
}