好きな Web サイトの機能を複製して C# を独学しようとしています。
いくつかのニュース項目を表示するための ASP Repeater (newsRepearer と呼ばれる) があります。ASP ベースの SQL データ ソースを取り出してコード ビハインドに配置するまでは正常に機能していたので、変数 (テキスト ボックスから入力) を設定して、前日の設定した数のニュースを表示し、実装することができます。 WHERE クエリでそれを指定します。
このコードを実行すると、次のエラーが発生します。
An invalid data source is being used for newsRepeater. A valid data source must implement either IListSource or IEnumerable.
protected void Page_Load(object sender, EventArgs e)
{
int newsDate = -7;
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["IGSConnectionString1"].ConnectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("SELECT * FROM igs_news WHERE DATE(newsDate) = DATEDIFF(day,@newsDays)", conn))
{
cmd.Parameters.AddWithValue("@newsDate", newsDate);
newsRepeater.DataSource = cmd;
newsRepeater.DataBind();
}
}
}
エラーが表示されますが、エラーも、IListSource と IEnumerable が実際に何であるかもわかりません。私は何を間違っていますか?
WHERE 部分が間違っている可能性があることは理解しています。これが解決したら、私はそれに取り組みます。