如何在dataList中的LinkBut​​ton事件中传递c#.net中的值。

时间:2013-03-15 11:51:01

标签: c# asp.net .net

我一直在为项目设计代码,我想在OnClick="LinkButton1_Click"事件中获取“ProductId”。

以下是代码:

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

请提出任何建议。

2 个答案:

答案 0 :(得分:2)

您必须使用itemcommand模式。

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

基本上,你可以:

  • 关闭您的LinkBut​​ton上的OnClick
  • 在按钮上设置CommandName(例如“LBClick”)和CommandArgument(您的值)
  • 订阅DataLIst ItemCommand事件
  • 在ItemCommand处理程序中处理按钮单击(如果e.CommandName ==“LBClick”,则以e.CommandArgument作为值运行代码)

希望这会有所帮助

答案 1 :(得分: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")%>' />

注意:在您的datalist上添加OnItemCommand