我是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);
答案 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();