1

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

自定义服务.cs

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

程序列表.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);
4

3 回答 3

1

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

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

或使方法静态:

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

但是,如果将其设置为静态,则该方法使用的驻留在类中的每个变量也需要是静态的。

于 2012-10-16T18:29:20.047 回答
1

你忘了先创建对象,然后你可以调用该方法

另一件事是您只需要像我在下面所做的那样直接分配值,无需创建任何新列表

检查下面对您有用的代码

CustomService custsrv = new CustomService();
List<Code> dept = custsrv.GetDepartment(true);
于 2012-10-16T18:29:38.760 回答
0

我认为这会有所帮助。

 CustomService custS = new CustomService();
    ddlDepartment.DataSource = custS.GetDepartment(true);
    ddlDepartment.DataBind(); 
于 2012-10-16T18:51:52.200 回答