[ASP.NET] Event op button binnen een klasse

Pagina: 1
Acties:

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:20
De titel is misschien wat vaag, maar ik vind het probleem lastig te omschrijven in weinig woorden.
Ik ben nog geen ster in .NET dus misschien pak ik het wel verkeerd aan dus ik sta open voor suggesties.
Maar het probleem; ik heb een klasse die een knop aanmaakt. M.b.v. addhandler voeg ik een handler toe die het click event van deze button moet handlen. Maar dit event wordt nooit afgelopen :?
Wat doe ik nu verkeerd? Of is dit niet dé manier, zeg maar?

Uiteraard is wat code wel handig. Dit is een simpel voorbeeld om uit te beelden wat ik bedoel dus geen gezeik over mijn variabelenamen of teksten :+
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    
    Public Class myControls
        Inherits WebControl
        
        Protected Overrides Sub createChildControls()
            Dim button As New Button
            button.Text = "test"
            Me.Controls.Add(button)
            AddHandler button.Click, AddressOf Me.Button1_Click
            Dim label As New Label
            label.Text = "tesssssttt jaaaaa"
            label.Visible = False
            label.ID = "lbltest"
            Me.Controls.Add(label)
        End Sub
        
        Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
            Me.FindControl("lbltest").Visible = True
        End Sub
    End Class

    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim control As New myControls
        Me.PlaceHolder1.Controls.Add(control)
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
    </div>
    </form>
</body>
</html>

Wanneer ik dus op de button click wordt het event niet gehandeld door mijn eventhandler, gechecked met de debugger van VS.NET

sensei_d.fpv channel


  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 11:47
Ik kan het verkeerd hebben, maar ik denk dat je eens moet kijken naar de INamingContainer.

http://msdn2.microsoft.co....ui.inamingcontainer.aspx

Hierin staat ook nog wat informatie:
http://www.codeproject.com/aspnet/DateTimePicker.asp

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-02 14:52

gorgi_19

Kruimeltjes zijn weer op :9

Controleer je controlcollection eens; zou me niets verbazen als je control een ander ID heeft meegekregen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 20-02 09:20
DrClearbottom schreef op woensdag 31 mei 2006 @ 16:33:
Ik kan het verkeerd hebben, maar ik denk dat je eens moet kijken naar de INamingContainer.

http://msdn2.microsoft.co....ui.inamingcontainer.aspx

Hierin staat ook nog wat informatie:
http://www.codeproject.com/aspnet/DateTimePicker.asp
Hmm, dit werkt, maar waarom snap ik nog niet helemaal. Komt het nu doordat het ID van de button veranderde en daarom niet gekoppeld kon worden aan het event of omdat de lifecycle is veranderd? Nou ik kan iig door _/-\o_

sensei_d.fpv channel