Jag är nybörjare på asp.NET och jag har kört fast på hur jag ska hantera OnCommand-eventet på nedanstående linkbutton. Hur ser din ASPX ut? Problemet är att Linkbutton-kontrollen inte finns på aspx-sidan. Jag löste det genom att använda en Datagrid istället.OnCommand-event för dynamiskt skapad linkbutton
Det går ju inte att sätta namnet på onCommand-metoden i code-behind filen. Hur löser man det då?
<code>
Dim inTd As New TableCell()
Dim lb As New LinkButton()
lb.Text = thistime.Substring(0, 5)
lb.CommandArgument = thistime.Substring(0, 5)
lb.CommandName = thisDate.Date
inTd.Controls.Add(lb)
</code>Sv: OnCommand-event för dynamiskt skapad linkbutton
Kontrollen på AXPsidan:
<code>
<asp:LinkButton id="LinkButton1"
Text="Foo"
CommandName="OrderFoo"
CommandArgument="1000"
OnCommand="LinkButton_Command"
runat="server"/>
</code>
I din codebehind:
<code>
Sub LinkButton_Command(sender As Object, e As CommandEventArgs)
... e.CommandName ... <-- Ger dig Command Name
... e.CommandArgument ... <-- Ger dig Command Argument
End Sub
</code>
Du kan även i din codebehind sätta dessa attribut.
Så som du typ har gjort. Vad för du för fel?
//Johan NSv: OnCommand-event för dynamiskt skapad linkbutton
Istället har jag byggt upp flera Linkbutton-kontroller i en TableCell-kontroll i code-behind-filen.
Min fråga är då hur jag kan anropa en metod som tar hand om onCommand-eventet.
Detta funkar inte:
<code>
Dim lb As New LinkButton()
lb.Text = thistime.Substring(0, 5)
lb.CommandArgument = thistime.Substring(0, 5)
lb.CommandName = thisDate.ToString()
lb.onCommand = "methodname"
<code>Sv: OnCommand-event för dynamiskt skapad linkbutton