用另一个项目中的类填充对象数据源
问题描述:
我在c#和linq中退出了新内容,我需要使用另一个项目中的类(以.c#)填充ObjectDataSource(在vb.net中)。用另一个项目中的类填充对象数据源
我试着做这些事情:
1.添加参考
2.“进口Project2的”,在页面后面的代码。
3.填写加载事件:
Dim ObjectClass1 As New Class1(ConnectionString)
myODS.TypeName = "ObjectClass1"
myODS.SelectMethod = "GetData"
myODS.SelectParameters("Filter1Name") = New Parameter("Filter1Name", DbType.String, "xxx")
-
在其他项目中的类看起来像这样:
public class Class1 { public string ConnectionString { get; } public Class1(string connectionString) { ConnectionString = connectionString; } public IQueryable<MyObject> GetData(string Filter1Name) { using (MyObjectDataContext dataContext = new MyObjectDataContext(ConnectionString)) { var Result = dataContext.MyObject.Where(x => x.FILTER_1== Filter1Name).Select(x => new MyObject { Field1 = x.FIELD_1, Field2 = x.FIELD_2 }); return Result; } } }
这是我得到的错误: ObjectDataSource'myODS'找不到具有以下参数的非通用方法'GetData':Filter1Name
这个错误的含义是什么?是否有可能做我想做的事情?
答
这意味着它不能找到一个名为GetInfo()
看着你的Class1定义你的类中的方法,你可能打算让它GetData
昏暗ObjectClass1作为新的Class1(的ConnectionString)
myODS.TypeName = "ObjectClass1"
myODS.SelectMethod = "GetData"
myODS.SelectParameters("Filter1Name") = New Parameter("Filter1Name", DbType.String, "xxx")
什么'GetInfo'和'ObjectClass1'属于?无论是使用错误的类型名称,还是为'GetInfo'选择方法名称或无效参数。 –
抱歉,我犯了一个错误,当我写到这里的问题...的GetInfo是的GetData(在Class1类的方法)。 约在ObjectClass1变量.... Class1的是在页面的实例。 – Melipao