我有一个电影网站。如果您点击一部电影,它将转到另一个页面,在该页面中显示该电影中的所有细节。只需将其视为电影的图像,如果单击它,浏览器会使用查询字符串将您带到另一个页面。现在,我已经完成了所有这些,但问题是我无法从数据库中显示所请求的信息。我需要帮助,看看我做错了什么。这是具有不同电影图像的页面的html / asp.net代码
<asp:Repeater ID="repMovies" runat="server" OnItemDataBound="repMovies_ItemDataBound" >
<ItemTemplate>
<a href="MovieDetail.aspx?MovieTitle=<%#Eval("ID") %>">
<main class="col-md-3 movie" style="background:#eee;margin-top:10px;padding:10px;border-radius:10px;border:solid 2px #333;height:280px;">
<div class="col-md-4"></div>
<div class="col-md-4">
<img src="Images/<%#Eval ("Poster") %>" class=" img-responsive img-rounded" style="height:100px;width:100%"/>
</div>
<div class="col-md-4"></div>
<div class="col-md-12">
<div class="row">
<h6><strong>Title:</strong><%#Eval("Title") %></h6>
</div>
<div class="row">
<h6><strong>Year :</strong><%#Eval("mYear") %></h6>
</div>
<div class="row">
<h6 style="font-size:9px;"><strong style="font-size:11px;">Starring:</strong><%#Eval("Starring") %></h6>
</div>
<div class="row">
<div class="menu">
<h6 style="font-size:11px;"><strong>Summery:</strong></h6>
<p style="font-size:9px;"><%#Eval("Summary") %>
</div>
</div>
</div>
</main>
</a>
</ItemTemplate>
</asp:Repeater>
这里是电影细节页面背后的代码
if (!IsPostBack)
{
string movieId = Request.QueryString["ID"];
repMovie.DataSource = db.Movies.Where(m => m.ID == movieId).ToList();
repMovie.DataBind();
}
答案 0 :(得分:0)
您使用的是错误的查询字符串参数名称。如下面的代码段所示,查询字符串参数的名称为MovieTitle
。要获取电影ID,您尝试在ID
string movieId = Request.QueryString["ID"];
提取到它
<a href="MovieDetail.aspx?MovieTitle=<%#Eval("ID") %>">
在后面的代码中获取查询字符串,如下所示,你应该很好:
string movieId = Request.QueryString["MovieTitle"];