2012-03-07 167 views
1

我的場景是:我有一些產品的DataList。我的SqlDataSource獲取所有的值,但我只顯示圖片,名稱和價格。項目模板中可見的ProductID標籤設置爲false。從DataList到詳細信息頁面

我已經爲每個產品添加了一個圖像按鈕,我想單擊此按鈕並轉到每個產品的更具體的詳細信息頁面。我的解決方案是將ProductID傳遞給詳細信息頁面。但是,我錯過了一些東西,不知道如何去做。

我的按鈕:

<asp:ImageButton ID="ImageButton1" runat="server" CommandArgument='<%# Eval("productID")%>' 
           ImageUrl="~/Graphics/profile_button.png" onclick="ImageButton1_Click" /> 

隨後的onclick:

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
     { 

      string productID = ??????? 
      string url; 

      url = "~/ProductDetails.aspx?productid=" + ProductID; 
      Response.Redirect(url); 
     } 

正如你看到的,我不知道怎麼去CommandArgument。怎麼做?

回答

1

我想我明白了。使用

OnCommand="ImageButton1_Click" 
圖像按鈕的標記

(代替的onclick)和

protected void ImageButton1_Click(object sender, CommandEventArgs e) 
{ 
    string productID = e.CommandArgument.ToString(); 
    //.. 
} 
+0

試過了,只是發佈之後但: 錯誤\t \t 1「System.Web.UI.ImageClickEventArgs」不包含關於「CommandArgument」和沒有擴展方法的定義「CommandArgument」接受類型的第一個參數「系統.Web.UI.ImageClickEventArgs'可以找到(你是否缺少使用指令或程序集引用?) – dargod 2012-03-07 13:42:21

+0

好吧,更新.... – AGuyCalledGerald 2012-03-07 13:53:15

+0

Aaa是:)工作得很好,謝謝!我也在搜索ImageButton中的OnClick和OnCommand,發現了一些問題。再次感謝。 – dargod 2012-03-07 13:55:43

1

只需使用以下。

不要拿圖像按鈕只是把圖像控制,並把錨標籤之間。

<a href="~/ProductDetails.aspx?productid=<%#Eval("ProductID")"><asp:Image ID="img" runat="server" ImageUrl="="~/Graphics/profile_button.png"> </a>  

將此代碼放在datalist中。它代碼較輕。