-2

我正在为一个组织创建一个军事站点。该网站的一部分将成为新闻/博客墙。

新闻将由一篇简单的文章和几张图片组成,具体取决于文章作者选择的内容。

在我的数据库中,我制作了两张表,一张用于新闻,一张用于图片。将这些连接在一起,图片表只包含图片的 URL,而不是整个图片。

现在解决问题:

如果只有一张图片连接到文章,一切正常,但如果我得到几张图片,我会为每张图片获得几行但同一篇文章。

这给了我下一个问题,我的 ASP.NET ListView 是一篇新文章,每篇文章呈现一张图片和相同的文章文本 >.<

我一直在向我大学的老师寻求帮助,但他们似乎都忙于其他讲座。

我还想知道如何在 ListView 中渲染出多张图片,我想在代码隐藏中使用一些 foreach 来获取更多图像标签,但如何?

如果有帮助,我会发布我的 SQL 查询的这张图片,请查看第 2 行和第 3 行。

ALTER PROCEDURE [dbo].[GetLatestNews] AS 
BEGIN 
   SELECT News.NyhetID, News.Rubrik, News.Nyhet, News.Datum, Picture.Picture 
   FROM Picture
   RIGHT OUTER JOIN News as News ON News.NyhetID = Picture.NyhetID 
   ORDER BY News.NyhetID DESC 
END

提前谢谢大家,记住我是一个新手程序员,这可能很容易?我真的很伤心,因为我告诉自己不会那么难。

4

2 回答 2

0

我会使用两个查询。用news 表中的所有数据填充一个,并从图片表中填充一个。

在您的页面加载事件中,使用这两个表中的数据填充两个私有实例变量。

在您的 ASPX 页面中,创建两个列表视图,一个用于新闻项目的父视图,一个用于图像的子视图。在新闻列表视图“Item_DataBound”事件中,使用 FindControl 从图片数据源中查找子列表视图和数据项。然后将子列表视图绑定到图片数据的子集,您可以使用 LINQ 执行此操作。

于 2012-04-22T20:14:30.013 回答
0

预期的行为是否限制每篇文章仅一张图片?也就是说,News 和 Picture 是一对多的关系,一个 News 可能包含一个 Picture,但一个 Picture 可能属于多个 News?

我想你可能有你的表结构倒退。理想情况下,这两个表如下所示。

NEWS
----
NewsID
NewsContent
PictureID

PICTURE
-------
PictureID
PictureURL

这样一来,一篇新闻文章只能有一个图片,但该图片可以在多篇新闻文章中被引用。

于 2012-04-22T20:41:36.340 回答