1

我有以下班级模型:

public class Person
{
  public string Name;
  public int Age;
}

public class PersonService
{
  public List<Person> GetAll() {...}
}

我通过将 ObjectDataSource (ODS) 绑定到 GridView 来在 ASP.Net 网页上显示数据。

如果我指向“ODS.TypeName = PersonService”,那么它会给出“对象与目标类型不匹配”。加载数据时出错。

如果我指向“ODS.TypeName = Person”,那么它找不到加载数据的 GetAll() 方法。

是否可以将 ODS 绑定到此模型(即方法和类型的单独类)?

编辑:我已经仔细检查了 Type 和 Select 方法名称是否正确(并且完全合格)。我做了一个单独的快速测试项目来证明 ODS 可以与上述模型配合使用——它确实有效。现在唯一的区别是,损坏的项目使用的是 EF 4.1 定义的实体——这会导致问题吗?

4

3 回答 3

2

TypeName需要PersonService在您的示例中设置为。无需为 ODS 提供绑定到网格行的确切类型的对象(Person在您的示例中),因为 ASP.NET 数据绑定和 ODS/网格都不会真正关心。关于您的错误,请尝试完全限定服务,例如 ,My.Namespace.PersonService并确保SelectMethod在 ODS 上进行相应设置。

于 2011-09-21T16:04:06.583 回答
0

我认为您想创建一个 PersonList 类,该类公开一个 Person 对象列表,并且该类具有使用 PersonService 填充/返回列表的方法。

于 2011-09-21T15:36:54.940 回答
0

在此处输入图像描述

只需右键单击您的项目并选择“禁用轻量级解决方案加载”即可。没有其他问题

于 2017-11-23T15:48:45.057 回答