我正在开发一个项目,我有一个游戏库用于控制台游戏。我在Visual Studio中使用ASP.NET。
现在我有一个数据库,其中包含games
,consoles
,categories
(流派),categories_games
(包含gameid
和{{1}的表格指定游戏类型是什么)和category id
(同样的事情,但对于游戏机)。
我正在使用DataList显示游戏(名称和图像),如下所示:
consoles_games
代码背后:
<asp:DataList ID="DataList1" runat="server" BackColor="White"
BorderColor="White" BorderStyle="None" BorderWidth="0px"
CellPadding="10" CellSpacing="2" Font-Names="Verdana"
Font-Size="Small" GridLines="Both" RepeatColumns="5"
RepeatDirection="Horizontal" Width="850px">
<FooterStyle BackColor="White" ForeColor="#8C4510" />
<HeaderStyle BackColor="White" Font-Bold="true" Font-Size="Large"
ForeColor="White" HorizontalAlign="Center"
VerticalAlign="Middle" />
<ItemStyle BackColor="White" ForeColor="Black"
BorderWidth="0px" />
<ItemTemplate>
<asp:Image ID="imgGame" runat="server" Width="128px"
Height="159px" ImageUrl='<%# Bind("uimg", "{0}") %>' />
<br />
<asp:Label ID="lblTitle" runat="server"
Text='<%# Bind("uname") %>'></asp:Label>
<br />
<br />
</ItemTemplate>
</asp:DataList>
例如,获取所有PS4游戏的SQL语句如下所示:
protected void BindData()
{
DataSet ds = new DataSet();
con.Open();
SqlCommand cmd = new SqlCommand(cmdstr, con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(ds);
DataList1.DataSource = ds.Tables[0];
DataList1.DataBind();
}
但是,我想使用查询字符串来显示游戏,所以我最终会得到这样的结果:
SELECT
games.uname, games.uimg
FROM
games, consoles, consoles_games
WHERE
consoles.consoleid = consoles_games.consoleid
AND games.uid = consoles_games.uid
AND consoles.consoleid = 2
ORDER BY
games.uname
如果有人知道我怎么做,并且仍然像我现在一样在DataList中显示游戏,那就太棒了。我一直在寻找任何好的教程,但在我的情况下,我似乎找不到任何可以帮助我的东西。
答案 0 :(得分:1)
首先,当用户导航到ps4游戏视图时(他在链接之前点击某处),你必须创建查询字符串。然后在导航页面上显示ps 4的游戏列表,你应该捕获该查询字符串并根据传递的id或其他搜索。
看看:How to build a query string for a URL in C#?
了解如何为网址构建查询字符串。