【问题标题】:Get ID from imagebutton which is in datalist [duplicate]从 datalist 中的 imagebutton 获取 ID [重复]
【发布时间】:2019-03-15 12:30:00
【问题描述】:

当我单击数据列表中的一个图像按钮时,onclick 将触发,但我如何知道单击了哪个按钮?

<asp:DataList ID="dtlProducten" runat="server" DataSourceID="dtsProducten" RepeatColumns="3" Width="274px">
    <ItemTemplate>
        <asp:Label ID="NaamLabel" runat="server" Text='<%# Eval("Naam") %>' />
        : €<asp:Label ID="PrijsLabel" runat="server" Text='<%# Eval("Prijs", "{0:N}") %>' />
        <br />
        <asp:ImageButton ID="ibProduct" runat="server" BorderColor="#B5CC20" BorderStyle="Solid" Height="100px" ImageUrl='<%# Eval("Foto", "~/Pictures/{0}") %>' Width="100px" Onclick="ImageButtonProduct_Click"/>


【问题讨论】:

  • dtsProducten 数据源中提供的对象的属性是什么。如果其中一个属性具有唯一值(例如该项目的 id),则可以将其用作对该对象的引用。
  • 是的,dtsProducten 中的所有对象都有一个唯一的 ProductID
  • 但是我怎么把它弄出来是个问题
  • 您可以查看以下链接What is the use of “object sender” and “EventArgs e” parameters?。这应该阐明获取对单击图像的引用所需的内容。

标签: c# asp.net onclick imagebutton datalist


【解决方案1】:

我认为this answer 可能是答案的基础。

我已经开始对其进行调整,以期希望能引导您找到可行的解决方案。

protected void ImageButtonProduct_Click(object sender, EventArgs e)
{
    ImageButton btn = (ImageButton) sender;
    DataListItem item = (DataListItem) btn.NamingContainer;
    Label lbl = (Label) item.FindControl("PrijsLabel");
    //... do other stuff here
}

【讨论】:

  • 完美!正是我想要的!感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-05
  • 1970-01-01
相关资源
最近更新 更多