单击按钮后访问数据列表中的单元格
本文关键字:单元格 列表 数据 按钮 访问 单击 | 更新日期: 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)