Ich habe eine asp:GridView
innerhalb einer asp:UpdatePanel
, die eine Spalte von asp:LinkButton
Kontrollen hat.LinkButton.Click-Ereignis wird nicht ausgelöst, wenn dynamisch in der GridView-Zeile datengebunden
Beim datengebundenen Ereignis row wird dem LinkButton der Click-Event-Handler zugewiesen.
Ich habe versucht jede Möglichkeit, die ich finden konnte, um den Klick sogar zu verdrahten und keines der Ereignisse jemals Feuer.
Mache ich etwas falsch?
aspx:
<asp:UpdatePanel ID="MainUpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="lblTest" Text="test" runat="server" />
<asp:GridView ID="gvClientsArchive" runat="server" AllowSorting="true" DataSourceID="dsClients"
OnRowDataBound="gvClientsArchive_RowDataBound" SkinID="gvList"
AllowPaging="true" PageSize="25" Visible="false">
...
-Code hinter:
protected void gvClientsArchive_RowDataBound(object sender, GridViewRowEventArgs e)
{
...
int company_id = int.Parse(drvRow["company_id"].ToString());
LinkButton lnkRestore = (LinkButton)e.Row.FindControl("lnkRestore");
lnkRestore.Click += new System.EventHandler(this.doRestore);
Button-Handler-Code:
private void doRestore(object sender, EventArgs e)
{
lblTest.Text = "restore clicked";
}
Ich habe auch versucht:
protected void gvClientsArchive_RowDataBound(object sender, GridViewRowEventArgs e)
{
...
LinkButton lnkRestore = (LinkButton)e.Row.FindControl("lnkRestore");
lnkRestore.Click += delegate
{
lblTest.Text = "restore clicked";
};
Ich werde versuchen, das jetzt zu implementieren. Warum ist es unangebracht? –
@JamesWierzba: bereits bearbeitet –
Tim Ich benutze ein 'TemplateField' als Spalte für diese' LinkButton' Zeile. Ich kann sehen, wie man das OnClick im aspx hinzufügt, aber wie würde ich den Kontext für den Rest der Datenzeile im Click-Handler-Event bekommen? –