[英]Retrieve ASP.NET Eval on ImageButton Click
我有以下中繼器,其中一些div包含信息和一個ImageButton
。 單擊ImageButton
我想檢索包含"ID"
的DataBinder.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,並將其發送給另一種方法,如下所示。
protected void btnPrint_Click(object sender, RepeaterItemEventArgs e)
{
var id = e.Item.FindControl("Id") as Label;
DefaultClass.createPDF(Convert.ToInt32(id));
}
但是,由於它是一個圖像按鈕, RepeaterItemEventArgs
只能是ImageClickEventArgs
因為它是圖像按鈕,因此我不知道如何准確地檢索ID。
將具有ID的隱藏字段添加到Repeater:
<asp:HiddenField ID="hfId" runat="server" Value='<%# Eval("ID") %>' />
然后在事件處理程序中:
var id = ((Control)sender).Parent.FindControl("hfId") as HiddenField;
DefaultClass.createPDF(Convert.ToInt32(id.Value));
您還可以在CommandArgument
添加id為
<asp:ImageButton runat="server" ID="btnPrint" ImageUrl="~/Images/print.gif" OnClick="btnPrint_Click" CommandArgument = '<%# Eval("ID") %>'/>
在點擊事件處理程序中
protected void btnPrint_Click(object sender, EventArgs e)
{
string id = (sender as ImageButton).CommandArgument;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.