asp.net c# 只重复与记录相关的 3 个图像中的 1 个

asp.net c# Repeating only 1 of 3 images related to record

我想重复当前有效的单个类别(通过查询字符串选择)中的所有项目。

但是,每个项目当前显示(重复)3 次,所有 3 次都具有相同的文本,只是不同的图像,因为每个项目都有 3 个不同的图像与之关联。

在此页面上,我只想显示与该项目关联的 3 张图片中的一张。

目前我只使用一个中继器来SELECT一切。我当前的中继器 SELECT Command 是:

Select Command:"SELECT * FROM [Maskiner] INNER JOIN images ON images.FK_maskine_id = maskiner.maskine_id INNER JOIN Maskine_kategori ON Maskiner.Maskine_Kategorinavn = Maskine_kategori.Maskine_kategori_id WHERE ([Maskine_kategori_id] = @Maskine_kategori_id)"

我想我必须在我评估图像的地方嵌套一个转发器,但是我不确定它应该做什么 SELECT

我还有一个项目详细信息页面,我确实想要与显示的项目关联的所有 3 个图像,我确实开始使用嵌套转发器选择与当前查询字符串具有相同FK_maskine_id的图像id 因为该页面被称为 itemdetail.aspx?id=9 等。所以没问题。

但是在 itemCategory.aspx(此页面)上,我只想显示与当前 Querystring 中具有相同 Category_id 的所有项目,目前工作正常,问题是我目前重复了同一个项目 3 次,因为每个项目都有 3 个与之关联的图像。

<asp:Repeater ID="Repeater3" runat="server" DataSourceID="SqlDataSource1">
    <ItemTemplate>

        <img class="group list-group-image" src='GalleriImage/<%# Eval("Image_Url") %>' />

        <div class="caption">
            <h4><%#Eval("Maskine_Navn") %></span></h4>

            <p>
                <%# CutText(DataBinder.Eval(Container.DataItem,"Maskine_Beskrivelse"), 123)%>...
            </p>

                <p class="lead text-center">
                    <%#Eval("Maskine_pris") %> kr.
                </p>

                <a href='BrugtProdukt.aspx?id=<%#Eval("Maskine_id") %>
                    <p class="MereInfKnap text-center ">More info</p>
                </a>
    </ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString='<%$ ConnectionStrings:DatabaseConnectionString1 %>'
    SelectCommand="SELECT * FROM [Maskiner] INNER JOIN Images ON Images.FK_maskine_id = maskiner.maskine_id INNER JOIN Maskine_kategori ON Maskiner.Maskine_Kategorinavn = Maskine_kategori.Maskine_kategori_id WHERE ([Maskine_kategori_id] = @Maskine_kategori_id)">
    <SelectParameters>
        <asp:QueryStringParameter Name="Maskine_kategori_id" QueryStringField="ID"
            Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

好吧所以我今天想通了,我在我的图像 Eval 周围嵌套了一个 repeater,并从 images 得到了 select TOP 1 *与另一个转发器 (item_id) select 的记录相同 fk_image_id。所以我的 Selectcommand 用于处理图像的嵌套转发器是:

SelectCommand='<%# "SELECT TOP 1 * FROM [billeder] INNER JOIN maskiner ON maskiner.maskine_id = billeder.FK_maskine_id  WHERE FK_maskine_id =" + Eval("maskine_id") %>'