Avatar billede kboecher Nybegynder
19. august 2004 - 18:14 Der er 8 kommentarer og
1 løsning

hvordan henter jeg linkbutton-id fra en datalist i Codebehind

Hejsa håber I kan hjælpe

Jeg sidder for første gang og er ved at udvikle en master / detail side - i asp.net.

Jeg vil gerne hente LinkButtons id automatisk. Sådan at jeg kunne skrive

CType(E.Item.FindControl(VarlinkButtonID), LinkButton).CommandName = "hideChild"

fremfor

CType(E.Item.FindControl("linkButton1"), LinkButton).CommandName = "hideChild"

Hele funktionen står forneden.

Private Sub hideChild(ByVal Sender As Object, ByVal E As System.Web.UI.WebControls.DataListCommandEventArgs)
        Dim childgrid As DataGrid
        childgrid = E.Item.FindControl("DataGrid1")
        childgrid.DataSource = Nothing
        childgrid.Visible = False
        'CType(e.Item.FindControl("LinkButton1"), LinkButton).Text = "Show Orders"
        CType(E.Item.FindControl("linkButton1"), LinkButton).CommandName = LastCommand
    End Sub
Avatar billede snepnet Nybegynder
19. august 2004 - 18:23 #1
VarlinkButtonID forudsætter du så til at være angivet et andet sted kan jeg se.
du kan jo bare lave en konstant i toppen af klassen, hvis problemet er at du skal skrive det flere steder.
ellers må du lige skrive hvordan du ønsker at at VarlinkButtonID bliver sat.

Du kan eventuelt kigge de kontroller igennem der ligger i dit item, og så sætte dit commandname, hvis det er en linkbutton - men så får du bare et tilsvarende problem hvis du vil have flere linkbuttons i rækken.

håber du lige kan give et par ekstra tips til ønsket virkemåde.

Mvh
Avatar billede kboecher Nybegynder
19. august 2004 - 20:00 #2
Hejsa snepnet

tak for inputtet :)

Det jeg mener er, at jeg ikke kan refere mig frem til linkbuttens ID member - sådan at det er en reference til linkbuttens ID.

min fejlbesked er:
System.NullReferenceException: Object reference not set to an instance of an object.

Håber du kan hjælpe..
Avatar billede snepnet Nybegynder
19. august 2004 - 20:39 #3
jeg er ikke sikker på at jeg helt har forstået (jeg er nok lidt tung i det :o), men i den handler du har, får du et argument E, og på det har du en .CommandSource af typen object.

hvis det er en linkbutton der er trykket på, vil E.CommandSource være en reference til den.

På C#'sk kan du så lave en
LinkButton lb = (LinkButton)e.CommandSource, og i VB sikkert noget med
Dim lb As LinkButton = CType(e.CommandSource, LinkButton)

Er jeg på sporet ? - eller fuldstændig ude i hampen ?

Mvh
Avatar billede kboecher Nybegynder
19. august 2004 - 21:07 #4
Super,  det var lige hvad jeg skulle bruge, kan du anbefale et godt sted, hvor jeg kan læse op på min manglende vide, he he?
Avatar billede kboecher Nybegynder
19. august 2004 - 21:09 #5
hov du skal lige angive din kommentar som svar, ellers kan jeg jo ikke give point :)
Avatar billede snepnet Nybegynder
19. august 2004 - 21:12 #6
Et svar her :o)
Avatar billede snepnet Nybegynder
19. august 2004 - 21:16 #7
der er rigtig mange gode steder du kan hente info - et godt sted at starte kunne være :
http://www.asp.net
og
http://www.gotdotnet.com/
ellers er der jo også altid :
http://msdn.microsoft.com/asp.net/
og
http://msdn.microsoft.com/library/default.asp (der folder du bare det menupunkt der hedder .NET development ud).
Avatar billede kboecher Nybegynder
19. august 2004 - 21:21 #8
super, må se at få mere overblik over asp.net, endnu engang takker :)
Avatar billede snepnet Nybegynder
19. august 2004 - 21:22 #9
Det var i hvert fald så lidt :o)
mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester