簡體   English   中英

中繼器C#中的linkbutton

[英]linkbutton in a repeater c#

我有一個要顯示書籍的數據庫。 主頁顯示2個鏈接類別(小說,技術),您單擊技術然后帶您到一個新頁面,在該頁面中可以查詢技術書籍

從那里,我正在使用中繼器來顯示那些技術書籍..包括圖片。

我的問題是我希望能夠使該名稱成為鏈接,並且當用戶單擊該鏈接時,某些變量知道該名稱,因此我被帶到一個新頁面,然后我可以使用該變量來查詢數據庫以顯示正確的信息。再次。 我不確定是否要使用變量。

或者,如果查詢字符串可以工作-類似:

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

所以,我想有2個問題。

  1. 如何命名鏈接並導航到新頁面“ Book.aspx”

  2. 如何保存單擊的名稱,以便書頁知道該名稱(名稱),以便可以在查詢中使用該名稱?

這是我所擁有的..

<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>

在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;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM