Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Jak znaleźć zdarzenie generowane przez dynamicznie...

Hej,

Mam coś takiego:

'Add the apply button
Dim ApplyButton As New Button
ApplyButton.ID = "ButtonApply"
ApplyButton.Text = "Apply"
ApplyButton.Enabled = True

testUpdate.ContentTemplateContainer.Controls.Add(ApplyButton)

Jak zareagować na zdarzenie wywołane po kliknięciu przycisku? Wybaczcie jeżeli używam dziwnego słownictwa, ale nawet nie wiem jak to nazwać...

Zasadniczo mogę obejść problem i wrzucić przycisk w aspx, ale pomyślałem, że tak będzie nieco bardziej elegancko... :-)

Z góry wielkie dzięki
pzdr
Dom
Mikołaj S.

Mikołaj S. Konsultant
Aplikacyjno-Biznesow
y, Software
Development Te...

Temat: Jak znaleźć zdarzenie generowane przez dynamicznie...

Cześć,
chodzi Ci o podpięcie metody pod zdarzenie Click?
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Jak znaleźć zdarzenie generowane przez dynamicznie...

No właśnie :-)
Mikołaj S.

Mikołaj S. Konsultant
Aplikacyjno-Biznesow
y, Software
Development Te...

Temat: Jak znaleźć zdarzenie generowane przez dynamicznie...

ApplyButton.Click += new EventHandler(ApplyButton_Click);

ApplyButton_Click to metoda, ktora bedzie sie odpalac.

prototyp taki:
ApplyButton_Click(object, System.EventArgs);

Generalnie poczytaj o delegatach i zdarzeniach w .NET.

To jest C#, wiec sobie przerob.

Pozdrwiam
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Jak znaleźć zdarzenie generowane przez dynamicznie...

Dzięki, już to widziałem, ale jakoś mi nie wyszło. Znaczy się gdy próbuję użyć button.click, dostaję informację: " 'Public Event Click (sender as Object, e as System.EventArgs)' is an event and cannot be called directly. Use a 'RaiseEvent' statement to raise an event."

Więc z racji tego, że programistą zdecydowanie nie jestem zgłupiałem. Ale poczytam i może już nie będę męczył w tej sprawie.
Mikołaj S.

Mikołaj S. Konsultant
Aplikacyjno-Biznesow
y, Software
Development Te...

Temat: Jak znaleźć zdarzenie generowane przez dynamicznie...

Button.Click jest zdarzeniem wywoływanym podczas klikniecia.
Jesli pod zderzenie podpieta jest metoda, zostanie ona uruchomiona.
Button.Click nie mozna "uruchomic" przez wywołanie, jak metode. Stad masz ten blad.
Kompilator podpowiada Ci, ze jak chcesz wywolac zdarzenie, bez klikania w button, musisz uzyc RaiseEvent.

Generalnie nie za bardzo rozumiem, co ty probujesz wykombinowac.
Jesli formularz nie wymaga, aby buttony pojawialy sie dynamicznie (podczas pisania projektu nie wiadomo ile ich bedzie, zalezy to od runtime'u), to olej to, i umiesc je na formatce, statycznie. Na dynamicznych kontrolach w asp.net, mozna sie "przejechac", szczegolnie jak nie jestes programista.

Pozdrawiam
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Jak znaleźć zdarzenie generowane przez dynamicznie...

Więc chyba ostatecznie zrobię tak jak mówisz i dodam przycisk do kontrolki ręcznie, bo on i tak ma tam byc. Reszta treści kontrolki jest generowana dynamicznie (dropdown i checkboxlist) i z tym nie mam problemu. Po prostu pomyślałem, że tak będzie 'ładniej' z jakiegoś powodu - znaczy się w aspx tylko container, a zwartość dodawana dynamicznie. Stąd też pytanie o podpięcie zdarzenia do dynamicznie generowanego przycisku.

Dzięki za pomoc w każdym bądź razie :-)

pzdr
Dom
Łukasz Szumyło

Łukasz Szumyło Xamarin Developer

Temat: Jak znaleźć zdarzenie generowane przez dynamicznie...

Partial Public Class _Default
Inherits System.Web.UI.Page
Protected WithEvents Button1 As System.Web.UI.WebControls.Button

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
AddBtn("Przycisk1")
End Sub

Protected Sub AddBtn(ByVal id As String)
Button1 = New Button()
Button1.ID = id
Button1.Text = id
Button1.Enabled = True
form1.Controls.Add(Button1)
End Sub

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim btn As Button
btn = CType(sender, Button)
Label1.Text = "Nacisnales przycisk: " + btn.ID
End Sub
End Class
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Jak znaleźć zdarzenie generowane przez dynamicznie...

Działa jak marzenie :-)
Dzięki

Następna dyskusja:

jak obsluzyc zdarzenie chan...




Wyślij zaproszenie do