我在实用程序类中有一个如下所示的方法。我想更改参数dataSource 以接受任何类型的数据源,即DataSet、DataView、List、DataTable 和ArrayList。

这可能吗?我将如何更改方法签名(以及参数和类型)以允许我灵活地传入任何可接受的数据源进行绑定(bind)?

public void FillCombo(DropDownList ddl, DataTable dataSource, string textField, string valueField, bool addSelect) {
    ddl.DataValueField = valueField;
    ddl.DataTextField = textField;
    ddl.DataSource = dataSource;
    ddl.DataBind();
    if (addSelect)
        AddSelectCombo(ddl, "Select", -1);
}

最佳答案

我相信以下是您正在寻找的内容。

public void FillCombo<TSource>(DropDownList ddl, TSource dataSource, string textField, string valueField, bool addSelect) {

    ddl.DataValueField = valueField;
    ddl.DataTextField = textField;
    ddl.DataSource = dataSource;
    ddl.DataBind();

    if (addSelect) AddSelectCombo(ddl, "Select", -1);

}

关于c# - 需要通用实用程序 C# 方法来填充 ASP.NET DropDownList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1894646/

10-13 04:55