转发器c#中的linkbutton

时间:2011-12-06 02:50:04

标签: c# asp.net

我有一个数据库,我正在显示书籍。主页面显示2个链接类别(小说,技术) 您单击技术然后它将带您进入查询技术书籍的新页面

从那里开始,我正在使用中继器来显示那些技术书籍......包括图片。

我的问题是我希望能够将名称设为链接,当用户点击该链接时,某些变量知道名称,我将被带到新页面,然后我可以使用该变量查询数据库以显示再次提供正确的信息。我不确定变量是否可行。

或者,如果查询字符串可以工作 - 例如:

Server.UrlDecode(Request.QueryString["BookName"]);

所以,我猜有两个问题..

  1. 如何将名称设为链接并导航至新页面“Book.aspx”

  2. 如何保存点击的名称,以便书页知道它(名称),以便我可以在查询中使用该名称?

  3. 这是我的......

    <h2>Books in category</h2>
        <p>&nbsp;</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>
    

         

1 个答案:

答案 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;
    }
}