0

このエラーがどこから発生する可能性があるかについての提案はありますか?

 "An invalid data source is being used for DataList1. A valid data source must implement either IListSource or IEnumerable."

このコードは、エラーのために強調表示されています。

DataList1.DataSource = FilmsAccess.GetFilmDetails(filmId);

GetFilmDetails メソッドはストアド プロシージャを呼び出し、.aspx データリストで指定したすべてのフィールドを含むテーブルを返します (これは、このメソッドに「データ バインド」されています)。前もって感謝します。アンナ

編集:これに対する私自身の答えを確認してください。そこで解決策を明確にし、別の関連する質問を提起しました!

4

1 に答える 1

0

みんな、ありがとう!「TheGeekYouNeed」、あなたは私に非常に重要なことを気づかせてくれました! GetFilmDetails メソッドは、実際にはテーブルではなく構造体を返します。テーブルを返すようにしたので、動作するようになりました! - 最初はどこからデバッグを開始すればよいかわかりませんが、これらの提案を通じて、どの詳細に注意を払うべきかを教えてくれるのが気に入っています。非常に役立ちます!

ここで、関連する質問がもう 1 つあります。返されたデータ型がテーブルではなく構造体である場合に、このエラーがスローされる理由を理解できる人はいますか? 私はそれを指定します:

  1. 構造体には、field1、field2、field3 などがあります...
  2. テーブルには、列 1、列 2 などにまったく同じ情報があります。
  3. フィールドと列名はまったく同じように呼ばれます。それらへの aspx での参照は次のようになります: Eval("field1").ToString()。
于 2012-06-03T21:05:03.410 に答える