简体   繁体   English

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

[英]How to pass value in c#.net on LinkButton event within a dataList.?

I have been designing a code for a project, where I want to get the "ProductId" on OnClick="LinkButton1_Click" event. 我一直在为项目设计代码,我希望在OnClick="LinkButton1_Click"事件中获得“ProductId”。

Here is the code: 这是代码:

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

Any suggestion please. 有任何建议请。

You have to use the itemcommand pattern. 您必须使用itemcommand模式。

An example at : http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datalist.itemcommand%28v=vs.110%29.aspx 例如: http//msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datalist.itemcommand%28v=vs.110%29.aspx

Basically, you can : 基本上,你可以:

  • dismiss the OnClick on your LinkButton 关闭LinkBut​​ton上的OnClick
  • set a CommandName (for example "LBClick") and CommandArgument (your value) on your button 在按钮上设置CommandName(例如“LBClick”)和CommandArgument(您的值)
  • subscribe to the DataLIst ItemCommand event 订阅DataLIst ItemCommand事件
  • handle your button click in the ItemCommand handler (if e.CommandName == "LBClick", run code with e.CommandArgument as value) 在ItemCommand处理程序中处理您的按钮单击(如果e.CommandName ==“LBClick”,则以e.CommandArgument作为值运行代码)

Hope this will help 希望这会有所帮助

You can use OnItemCommand event on your DataList 您可以OnItemCommand event on your DataList使用OnItemCommand event on your DataList

And try with CommandArgument and CommandName 并尝试使用CommandArgumentCommandName

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

      }

View : 查看:

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

Note : Add OnItemCommand on your datalist 注意:在您的datalist上添加OnItemCommand

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM