我有一个数据库,我正在显示书籍。主页面显示2个链接类别(小说,技术) 您单击技术然后它将带您进入查询技术书籍的新页面
从那里开始,我正在使用中继器来显示那些技术书籍......包括图片。
我的问题是我希望能够将名称设为链接,当用户点击该链接时,某些变量知道名称,我将被带到新页面,然后我可以使用该变量查询数据库以显示再次提供正确的信息。我不确定变量是否可行。
或者,如果查询字符串可以工作 - 例如:
Server.UrlDecode(Request.QueryString["BookName"]);
所以,我猜有两个问题..
如何将名称设为链接并导航至新页面“Book.aspx”
如何保存点击的名称,以便书页知道它(名称),以便我可以在查询中使用该名称?
这是我的......
<h2>Books in category</h2>
<p> </p>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div>
<img src='/images/<%# DataBinder.Eval(Container.DataItem, "Image") %>' onclick="Navigate()"
alt="" align="left" style="height:100px;width:100px;border:1px solid black" />
</div>
<table class="vertaligntop">
<tr >
<td >
<%# DataBinder.Eval(Container.DataItem, "BookName") %>
<br />
<%# DataBinder.Eval(Container.DataItem, "BookDescription") %>
<br />
<%# DataBinder.Eval(Container.DataItem, "ISBN") %>
<br />
<%# DataBinder.Eval(Container.DataItem, "Author") %>
<br />
<%# DataBinder.Eval(Container.DataItem, "CategoryName") %>
<br />
<%# DataBinder.Eval(Container.DataItem, "Publisher") %>
<br />
<%# DataBinder.Eval(Container.DataItem, "Rating") %>
<br />
<%# DataBinder.Eval(Container.DataItem, "Price") %>
<br />
</td>
答案 0 :(得分:0)
在aspx页面中,将BookName
的数据绑定为:
<a href='Book.aspx?BookName=<%# Eval("BookName")%>'><%# Eval("BookName")%></a>
在下一页的代码中,将BookName
保存到ViewState
并在需要时使用它:
public string BookName
{
get
{
if (ViewState["BookName"] == null)
ViewState["BookName"] = Server.UrlDecode(Request.QueryString["BookName"]);
return Convert.ToString(ViewState["BookName"]);
}
set
{
ViewState["BookName"] = value;
}
}