我有以下转发器,其中一些div包含信息和ImageButton
。在ImageButton
的点击,我想找回它包含"ID"
在ImageButton上检索ASP.NET Eval点击
<asp:Repeater ID="RptPendingRequests" runat="server" onitemcommand ="RptPendingRequests_ItemCommand">
//other divs here
<div class="LabelCustomShort" style="font-size:10px"><%#DataBinder.Eval(Container.DataItem, "ID")%></div>
<asp:ImageButton runat="server" ID="btnPrint" ImageUrl="~/Images/print.gif" onclick="btnPrint_Click" /></div>
//other divs here
<asp:Button runat="server" ID="btnSubmit" Text="Submit" style="float:right;" onclick="btnSubmit_Click" />
</asp:Repeater>
上的ImageButton单击我想找回在其上单击图像按钮,该项目的ID,并将其发送给另一个方法的DataBinder.Eval
,如下。
protected void btnPrint_Click(object sender, RepeaterItemEventArgs e)
{
var id = e.Item.FindControl("Id") as Label;
DefaultClass.createPDF(Convert.ToInt32(id));
}
但是因为它是一个图像按钮RepeaterItemEventArgs
只能是ImageClickEventArgs
因为它的图像按钮,因此我不知道我怎么能准确地检索ID。
如果您想在'Repeater','DataGrid'或'GridView'(实现'INamingContainer'接口的那些)中找到父行,那么最好在'.Parent'上使用'.NamingContainer'。 – Bharadwaj