Ich habe eine verschachtelte UserControl
(diese Steuerung dynamicall von einem anderen UserControl
geladen wird, die dynamisch durch eine aspx Seite innerhalb eines Master geladen wird), in dem ich möchte verwenden, um eine LinkButton
und die OnCommand
Ereignis .Linkbutton in verschachtelten Usercontrols Zündbefehl Ereignis nicht
muss diese Schaltfläche zu einem gewissen Panel hinzugefügt werden, so hakte ich zum OnLoad
Ereignisse des Panels (es erstellt werden muss, bevor Ereignisse im Lebenszyklus ausgelöst werden):
protected void PatentAssignee_Load(object sender, EventArgs e) {
Label label = (Label)sender;
LinkButton link = new LinkButton();
link.Text = name;
link.Command += Link_OnCommand;
link.CommandArgument = "argument";
link.ID = "someID";
label.Controls.Add(link)
}
protected void Link_OnCommand(object sender, CommandEventArgs e) {
Response.Write(e.CommandArgument);
}
Aber ich kann‘ t Rufen Sie die Methode Link_OnCommand auf, die aufgerufen werden soll. Eine weitere Sache, die für dieses Problem relevant ist: Das UserControl befindet sich in einem UpdatePanel. Ich habe auch versucht die Verbindung, um eine vollständige Postbacks auslösen:
ScriptManager s = (ScriptManager)this.Page.Master.FindControl("__scriptManager");
s.RegisterPostBackControl(link);
... aber es ändert sich nicht viel, wird die Seite komplett neu geladen, aber kein Ereignis ausgelöst wird.
EDIT: Wie in den Kommentaren aufgefordert, hier sind weitere Details über die Verschachtelung:
MasterPage
PlaceHolder
Page
UpdatePanel
UserControl1
FormView
PlaceHolder
UserControl2
LinkButton
Das bedeutet, dass UserControl2
dynamisch geladen wird.
Könnten Sie vielleicht etwas ausführlicher über die die dynamische Link-Button-Steuerelement enthalten enthält, und wo es auf der Seite + Master-Seite eingebettet ist. –
Ich habe einige Details hinzugefügt ... Hoffe, das wird helfen, aber ich fühle mich wie das wird kompliziert;)! – Wookai