2017-10-10 90 views
0

我在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

    这个错误的含义是什么?是否有可能做我想做的事情?

    +0

    什么'GetInfo'和'ObjectClass1'属于?无论是使用错误的类型名称,还是为'GetInfo'选择方法名称或无效参数。 –

    +0

    抱歉,我犯了一个错误,当我写到这里的问题...的GetInfo是的GetData(在Class1类的方法)。 约在ObjectClass1变量.... Class1的是在页面的实例。 – Melipao

    回答

    0

    这意味着它不能找到一个名为GetInfo() 看着你的Class1定义你的类中的方法,你可能打算让它GetData

    昏暗ObjectClass1作为新的Class1(的ConnectionString)

    myODS.TypeName = "ObjectClass1" 
    myODS.SelectMethod = "GetData" 
    myODS.SelectParameters("Filter1Name") = New Parameter("Filter1Name", DbType.String, "xxx") 
    
    相关问题