「国」基準に基づいてすべてのエントリを表示するように Web サイトを取得しようとしています。これが私のコードです:
関連する Default.aspx のコード:
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/TravelJoansDB.accdb"
SelectCommand="SELECT Country, COUNT (*) AS N FROM [Table2] GROUP BY Country">
</asp:AccessDataSource>
<asp:DataList ID="DataList1" DataSourceID="AccessDataSource1" runat="server">
<ItemStyle VerticalAlign="Top" CssClass="countriesList"/>
<ItemTemplate>
<asp:HyperLink ID="Hyperlink1" runat="server" NavigateUrl='<%# "~/Countries.aspx?Country="+ Eval("Country")%>'>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Country") %>' /> (<asp:Label ID="Label1" runat="server" Text='<%# Eval("N") %>' />)
</asp:HyperLink>
</ItemTemplate>
</asp:DataList>
Countries.aspx のコードは次のとおりです。
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/TravelJoansDB.accdb"
SelectCommand="SELECT * FROM Table2 INNER JOIN [BlogEntryItems] ON Table2.ID=BlogEntryItems.BlogID WHERE Country=@Country" >
<SelectParameters>
<asp:QueryStringParameter Name="Country" QueryStringField="Country" />
</SelectParameters>
</asp:AccessDataSource>
<asp:DataList ID="DataList1" DataSourceID="AccessDataSource1"
runat="server" ItemStyle-CssClass="picTableStyle"
DataKeyField="Country">
<ItemStyle></ItemStyle>
<ItemTemplate>
<br /><br />
<table>
<tr>
<td>
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl='<%#"~/Places.aspx?ID="+Eval("ID")%>'>
<asp:Label ID="Label2" class="picTitleStyle" runat="server" Text='<%# Eval("BlogTitle") %>' /><br /></asp:HyperLink>
<asp:Label ID="Label3" class="picBodyText" runat="server" Text='<%# Eval("TravelDate", "{0:MMMMMMMMM dd, yyyy}") %>' /><br /><br />
<asp:Label ID="Label4" class="picBodyText" runat="server" Text='<%# Eval("PicText") %>' />
</td>
</tr>
<tr>
<td>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#"~/Places.aspx?ID="+Eval("ID")%>'>
<asp:Image ID="Image1" runat="server"
BorderWidth="1px"
ImageUrl='<%# "PlaceImages/" + Eval("Image") %>' />
</asp:HyperLink>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
私の問題は、データベースに同じレコードが表示されることですが、多くのブログ投稿はその国に関するものです。つまり、イタリアに関するブログ投稿が 3 つ、トルコに関する 2 つのブログ投稿があります。イタリアをクリックすると、同じレコードが 3 つ表示されます (何らかの理由でレコード番号 4 が選択され、これが中央のレコードです)。トルコを選択すると、同じレコードが 2 つ表示されます (レコード番号 1)。3 つと 2 つの異なるレコードを表示する方法について何かアイデアはありますか?
みんなありがとう!