Toon posts:

[ASP.NET] Linkbutton in placeholder

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben weer flink aan het klooien maar kom er niet meer uit.
Ik laad een x aantal linkbuttons dynamisch in een placeholder, deze linkbuttons roepen onClick allen een functie aan.

Maar ik krijg de error dat de functie niet bestaat als ik de code run. :(

code:
1
2
3
4
5
6
sub but_submit_click(sender As Object, e As EventArgs)
        overzicht.visible = "true"
        invoer.visible = "false"
        bevestiging.visible = "false"
        koppeling.visible = "false"
end sub


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
Sub ShowMenu(parent, level)
    Dim i, j
    
    ' ga alle items af in array
    For i = 0 To menuCount - 1
    
        ' is de parent van dit item opgegeven item, dan op scherm zetten
        ' en deze als parent gaan doorlopen
        If menu_array(i).menu_parent = parent Then
        
            ' spaties of whatever om niveau aan te geven
            if level >= 1 then
                For j = 0 to level
                    menu_items_ctrl.Controls.add(ParseControl("   "))
                Next
            end if
            
            ' zet naam van item op scherm
            if level >= 1 and level \2 = 0 then
                menu_items_ctrl.Controls.add(ParseControl("- <asp:LinkButton id=""bullshit"& linkbutton &""" onclick=""parent_select_click"" runat=""server"" class=""menu_item"">"& menu_array(i).menu_naam &"</ASP:LinkButton>"))
                menu_items_ctrl.Controls.Add(New LiteralControl("<br>"))
                linkbutton+=1
            elseif level >= 1 and level \2 <> 0 then
                menu_items_ctrl.Controls.add(ParseControl("* <asp:LinkButton id=""bullshit"& linkbutton &""" onclick=""parent_select_click"" runat=""server"" class=""menu_item"">"& menu_array(i).menu_naam &"</ASP:LinkButton>"))
                menu_items_ctrl.Controls.Add(New LiteralControl("<br>"))
                linkbutton+=1
            else
                menu_items_ctrl.Controls.add(ParseControl("<asp:LinkButton id=""bullshit"& linkbutton &""" onclick=""parent_select_click"" runat=""server"" class=""menu_item"">"& menu_array(i).menu_naam &"</ASP:LinkButton>"))
                menu_items_ctrl.Controls.Add(New LiteralControl("<br>"))
                linkbutton+=1
            end if
            
            ' ga verder met dit item als parent (en verhoog level)
            ShowMenu( menu_array(i).menu_id, level + 1 )
        end If
        
    Next

End Sub


hij zet de linkbuttons keurig neer maar de onclick=""parent_select_click"" wordt niet goed uitgevoerd?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:58

gorgi_19

Kruimeltjes zijn weer op :9

Waarom creeer je niet dynamisch een linkbuttonControl, geef deze een ID en tekst.
Voeg hier vervolgens een handler aan toe.
Voeg het geheel toe aan de controls collection

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ik snap het nog niet helemaal maar heb nu zoiets eronder staan voor de test:

code:
1
2
3
4
5
6
7
8
9
10
Dim m As Short = 0 
For m = 0 To 9 
Dim ctl_LinkButton As New LinkButton() 
ctl_LinkButton.ID = m.ToString 
ctl_LinkButton.Text = m.ToString &"<br>" 
'ctl_LinkButton.Click = parent_select_click
AddHandler ctl_LinkButton.Click, AddressOf parent_select_click

PlaceHolder1.Controls.Add(ctl_LinkButton) 
Next


hoe werkt zo'n handler?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:58

gorgi_19

Kruimeltjes zijn weer op :9

En hoe ziet je parent_select_click er uit?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
nu zo:

code:
1
2
3
4
5
6
7
private sub parent_select_click(sender As Object, e As EventArgs)
        response.write( "something is happening here!!" )
        'overzicht.visible = "false"
        'invoer.visible = "false"
        'bevestiging.visible = "false"
        'koppeling.visible = "false"
    end sub


een response.write om te checken of er uberhaupt wat gebeurt, maar hij doet niets :(

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:58

gorgi_19

Kruimeltjes zijn weer op :9

Apart..... Bij mij doet ie het perfect :?

Hide je je Placeholder niet ergens?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
damn je hebt gelijk :)

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
<%@ page language="vb" debug="true"%>
<script runat="server">
    private sub parent_select_click(sender As Object, e As EventArgs)
        response.write( "something is happening here!!" )
    end sub
    
    Sub Page_Load(Sender As Object, E As EventArgs)
        Dim m As Short = 0 
        For m = 0 To 9 
            Dim ctl_LinkButton As New LinkButton() 
            ctl_LinkButton.ID = m.ToString 
            ctl_LinkButton.Text = m.ToString &"<br>" 
            AddHandler ctl_LinkButton.Click, AddressOf parent_select_click
            
            PlaceHolder1.Controls.Add(ctl_LinkButton) 
        Next 
    end sub 
</script>

TEST:
<BR>
<form runat="server">
<asp:PlaceHolder id="PlaceHolder1" runat="server" />
</form>


maar waarom werkt ie niet in mijn complete code :(
bug huntuh! :@

Verwijderd

Topicstarter
het lijkt alleen te werken als ik de linkbutton onPageload in de placeholder stop, maar ze worden er pas @ runtime ingestopt.....

is hier een truuk voor?

Hij toont ze namelijk wel, maar de Click werkt dan niet?

Verwijderd

Topicstarter
ik heb alle code naar de page_load verplaatst dus het werkt :)

ik vraag me alleen af of het mogelijk is om een variabele mee te geven aan de functie?
kan ik zoiets doen als AddHandler ctl_LinkButton.Click, AddressOf parent_select_click( i )

en dan van parent_select_click een function maken?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:58

gorgi_19

Kruimeltjes zijn weer op :9

Verander
code:
1
    response.write( "something is happening here!!" )

eens in
code:
1
        Response.Write(CType(sender, LinkButton).ID)

En de rest moet je dan wel zelf kunnen verzinnen.... :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
misschien een hele stomme vraag maar hoe krijg ik een stylesheet over de linkbuttons als ze op deze manier definieer?

typoz :+

[ Voor 13% gewijzigd door Verwijderd op 05-12-2002 10:25 ]


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:27

mulder

ik spuug op het trottoir

.CssClass

oogjes open, snaveltjes dicht

Pagina: 1