2013-03-15 26 views
1

我一直在爲一個項目設計一個代碼,在那裏我想要獲得關於OnClick="LinkButton1_Click"事件的「ProductId」。如何在dataList中的LinkBut​​ton事件的c#.net上傳遞值。

下面是代碼:

<asp:DataList ID="DataList1" runat="server" RepeatColumns="4"> 
           <ItemTemplate> 
            <table> 
             <tr><td><%#Eval("ProductId")%> 

      <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click"> 
    <img src='<%#Eval("Image")%>' style="width: 220px; height: 146px" alt="" /> 
              </asp:LinkButton></td> 
             </tr> 
             <tr> 
              <td style="text-align: center"> 
               <%#Eval("ArtName")%> 
              </td> 
             </tr> 
             <tr> 
              <td style="text-align: center"> 
               <%#Eval("Price")%> 
              </td> 
             </tr> 
            </table> 
           </ItemTemplate> 
          </asp:DataList> 

任何建議請。

回答

1

您可以使用OnItemCommand event on your DataList

而且隨着CommandArgumentCommandName

嘗試
void Item_Command(Object sender, DataListCommandEventArgs e) 
     { 
      if(e.CommandName ="Select") 
      { 
       var e = e.CommandArgument; 
       .... 
      } 

     } 

查看:

<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Select" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ProductId")%>' /> 

注意:在您的數據列表上添加OnItemCommand

2

您必須使用itemcommand模式。

一個例子: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datalist.itemcommand%28v=vs.110%29.aspx

基本上,你可以:

  • 解僱的OnClick您的LinkBut​​ton
  • 設置的CommnadName(例如 「LBClick」)和CommandArgument(你的價值)在你的按鈕上
  • 訂閱DataLIst ItemCommand事件
  • 處理你的按鈕點擊ItemCommand h andler(如果e.CommandName == 「LBClick」,以作爲e.CommandArgument值運行的代碼)

希望這將有助於

相關問題