单击按钮和传输到变量后如何访问数据列表中的单元格...
问问题
2330 次
2 回答
1
<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 个 Label 控件将显示 ProductName 和 Price
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
protected void BuyNowButton_Click(object sender, EventArgs e) { Button BuyNowButton = (Button)sender; DataListItem item = (DataListItem)BuyNowButton.NamingContainer; 标签 NameLabel = (Label)item.FindControl("NameLabel"); 标签 ValueLabel = (Label)item.FindControl("ValueLabel"); ResultsLabel.Text += String.Format("点击:{0} - {1}
", NameLabel.Text, ValueLabel.Text); }
于 2012-06-02T16:41:48.417 回答
0
上面的代码看起来很简洁,但是当您单击位于 DataGrid 内的任何控件时,第一个触发的事件将是 protected void DataListName_ItemCommand(object source, DataListCommandEventArgs e)
,因此将代码放入事件中会很精确。
然后你可以用同样的方法找到物品
ImageButton img = (ImageButton)e.Item.FindControl("ImageButton1");
img.(property that you wanna access)
于 2012-06-02T20:40:22.900 回答