1

私は次のクラスモデルを持っています:

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

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

ObjectDataSource (ODS) を GridView にバインドして、ASP.Net Web ページにデータを表示しています。

「ODS.TypeName = PersonService」を指定すると、「オブジェクトがターゲット タイプと一致しません」というメッセージが表示されます。データのロード中にエラーが発生しました。

「ODS.TypeName = Person」を指定すると、データをロードする GetAll() メソッドが見つかりません。

ODS をこのモデルにバインドすることは可能ですか (つまり、メソッドと型の個別のクラス)?

編集: Type および Select メソッド名が正しい(および完全修飾されている)ことを再確認しました。ODS が上記のモデルで動作することを証明するために、別の簡単なテスト プロジェクトを作成しました。動作します。現在の唯一の違いは、壊れたプロジェクトが EF 4.1 で定義されたエンティティを使用していることです。これは問題を引き起こしますか?

4

3 に答える 3

2

TypeNameあなたの例ではに設定する必要がありPersonServiceます。PersonASP.NETデータバインディングもODS /グリッドも実際には気にしないため、ODSにグリッドの行にバインドされた正確なタイプのオブジェクトを提供する必要はありません(あなたの例では)。エラーに関しては、サービスを完全に修飾するようにしてください (例: ) 。それに応じて ODSMy.Namespace.PersonServiceを設定してください。SelectMethod

于 2011-09-21T16:04:06.583 に答える
0

Person オブジェクトのリストを公開し、PersonService を使用してリストを作成/返すメソッドを持つ PersonList クラスを作成したいと思います。

于 2011-09-21T15:36:54.940 に答える