如何以编程方式在c#中创建DDL列表

本文关键字:创建 DDL 列表 编程 方式 | 更新日期: 2023-09-27 18:11:01

我想知道如何在c#类中创建下拉列表。我一直在这样尝试:

List<DropDownList> _ddlCollection;
for (int i = 0; i < 5; i++)
            {
                _ddlCollection.Add(new DropDownList());
            }

然后我将_ddlCollection添加到Asp。. NET站点如下:

 foreach (DropDownList ddl in _ddlCollection)
    {
        this.Controls.Add(ddl);
    } 

但是它在line上中断了:

_ddlCollection.Add(new DropDownList());

你能告诉我如何添加一些DDL到一个列表吗?

如何以编程方式在c#中创建DDL列表

因为这里没有初始化局部变量_ddlCollection,它会"中断":

List<DropDownList> _ddlCollection;
// you cannot use _ddlCollection until it's initialized, 
// it would compile if you'd "initialize" it with null, 
// but then it would fail on runtime

由局部变量声明引入的局部变量则不是自动初始化,因此没有默认值。这样的地方变量最初被认为未赋值。局部变量声明可以包含局部变量初始化式,在这种情况下,除了在局部变量初始化式中提供的表达式内,变量被认为在其整个作用域中被明确赋值。

局部变量

这是一个正确的初始化:
List<DropDownList> _ddlCollection = new List<DropDownList>();

看起来您没有初始化_ddlCollection,因此当您.Add时它会中断。

您需要为_ddlCollection分配一个List<DropDownList>的实例。

 _ddlCollection = new List<DropDownList>();