我想在网站的首页上显示一些新闻帖子。新闻有不同的类别,但存储在同一个mysql数据库中。所有新闻项都被加载到数据集中,但从那里我只想提取一些特定的新闻并在ListView控件中显示它们。
目前我正在使用在数据集上使用foreach循环的解决方案解决方案,并在后面的代码中使用html格式化结果。它有效,但我希望所有html格式都在aspx文件中完成,因此我正在寻找更好的解决方案。
DataSet articles = db.loadAllArticles();
foreach (DataRow item in articles.Tables["articles"].Select("category = 1"))
{
result += "<h1 class='headline'>" + item["headline"] + "</h1><h2 class='introduction'>" + item["introduction"] + "</h2><p class='content'>" + item["content"] + "</p><p class='authorAndDate'>" + item["author"] + " " + item["datePosted"].ToString().Substring(0,10) + "</p><br/>";
}
lblDisplay.Text = result;
我希望我能做的就是这样:
DataSet articles = db.loadAllArticles();
ListView1.DataSource = articles.Tables["articles"].Select("category = 1");
ListView1.DataBind();
但是ListView控件对尝试将DataRow绑定到它或其他东西并不太高兴。 我能想到的最好的解决方法是在&#34;文章&#34;中创建一个新表。 DataSet只包含所选类别的文章,如下所示:
DataSet articles = db.loadAllArticles();
articles.Tables.Add("frontPageArticles");
articles.Tables["frontPageArticles"] = ???
那就是它停止的地方。如何使用列的值为x?
的其他数据表中的行填充新数据表-Eric。