单击按钮后访问数据列表中的单元格

本文关键字:单元格 列表 数据 按钮 访问 单击 | 更新日期: 2023-09-27 18:36:10

单击按钮并传输到变量后如何访问数据列表中的单元格...

单击按钮后访问数据列表中的单元格

    <ItemTemplate>
    <asp:Label ID="ProductNameLabel" runat="server" Text='<%# Eval("Name") %>' /><br />        
     <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# Eval("ImageURL","~/Images/{0}") %>'  />
        <asp:Label ID="PriceLabel" runat="server" Text='<%# Eval("Price", "{0:C}") %>'></asp:Label><br />
        <asp:Button ID="buyNowBtn" runat="server" Text="buy Now" OnClick="buyNowBtn_Click" />                     
    </ItemTemplate>
    </asp:DataList>

下面我还有 2 个标签控件,将显示产品名称和价格

    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    <br />
    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
 受保护的无效BuyNowButton_Click(对象发送器,事件参数 e)        {                按钮立即购买按钮 = (按钮)发送者;                数据列表项项 = (数据列表项)购买现在按钮.命名容器;                标签名称标签 = (标签)项。FindControl("NameLabel");                标签值标签 = (标签)项。FindControl("ValueLabel");                ResultsLabel.Text += String.Format("Click: {0} - {1}
", NameLabel.Text, ValueLabel.Text); }

上面的代码看起来很整洁,但是当您单击 DataGrid 内部的任何控件时,第一个触发的事件将是 protected void DataListName_ItemCommand(object source, DataListCommandEventArgs e) ,因此将代码放在事件中会很精确。

然后你可以用同样的方式找到项目。

ImageButton img = (ImageButton)e.Item.FindControl("ImageButton1");
img.(property that you wanna access)