1

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

这是代码:

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

请有任何建议。

4

2 回答 2

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 作为值运行代码)

希望这会有所帮助

于 2013-03-15T12:00:47.153 回答
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

于 2013-03-15T12:01:48.143 回答