在下拉菜单中填充数据

时间:2012-10-16 18:26:02

标签: c# asp.net data-binding drop-down-menu

我是c#的新手所以有点卡在我认为非常简单的模块上。我只需要在下拉菜单中显示数据,但在绑定时出现一些错误......或者我甚至会在绑定之前说出来。这就是我想要做的事情。如果我犯了一个非常简单的错误,我真的很抱歉,但我尽了最大的努力。现在我想我需要一些指导......

CustomService.cs

public partial class CustomService
{
public List<Code> GetDepartment(bool activeOnly)
    {
        List<Code> retVal = new List<Code>();
        ---some code----
        return retVal;
    }
     }

ProgramList.ascx.cs

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            List<Code> dept = new List<Code>CustomService.GetDepartment(true);
            ddlDepartment.DataSource = dept;
            ddlDepartment.DataBind();
         }
    } 
   //error an object reference is required for an nonstatic field, method or Property CustomService.GetDepartment(true);

3 个答案:

答案 0 :(得分:1)

为了能够调用GetDepartment方法,您需要创建一个新的CustomService实例:

CustomService service = new CustomService();
service.GetDepartment(true);

或使方法成为静态:

public static List<Code> GetDepartment(bool activeOnly) { }

但是,如果你把它设置为静态,那么该方法中使用的每个变量都需要是静态的。

答案 1 :(得分:1)

您忘记先创建对象,而不是调用方法

另一件事是你只需要像我下​​面那样直接分配值,不需要创建任何新列表

检查下面适合您的代码

CustomService custsrv = new CustomService();
List<Code> dept = custsrv.GetDepartment(true);

答案 2 :(得分:0)

我认为这会有所帮助。

 CustomService custS = new CustomService();
    ddlDepartment.DataSource = custS.GetDepartment(true);
    ddlDepartment.DataBind();