ASP.NET声明的CodeBehind中的控件数组不起作用

本文关键字:控件 数组 不起作用 CodeBehind NET 声明 ASP | 更新日期: 2023-09-27 17:54:41

你好
我需要在ASP中对一些下拉列表进行分组。NET表单。所以我想在实例级别创建一个DL数组,如下代码隐藏文件中所示。

DropDownList[] dls = { Dl1, Dl2, Dl3 };

其中Dl1等是我表单上的下拉列表。所以我得到一个错误"字段初始值设定项不能引用非静态字段方法或属性"。然而,如果我在函数中移动代码,它可以正常工作。但我需要在实例级别创建它,这样多个方法才能使用它。

关于处理这个问题的最佳方法的任何想法。

ASP.NET声明的CodeBehind中的控件数组不起作用

class MyPage : Page {
    DropDownList[] dls;
    protected void Page_Init(object sender, EventArgs e)
    {
        dls = new []{ Dl1, Dl2, Dl3 };
    }
    ...
}

这是我让它工作的唯一方法。这个想法归功于slugster:

public partial class _Default : System.Web.UI.Page
{
    DropDownList[] dls = null;
    public _Default()
    { 
        dls = new DropDownList[] { dl1, dl2, dl3 };
    }
    protected void Page_Load(object sender, EventArgs e)
    {            
    }
}