Avatar billede Lasse Novice
06. februar 2002 - 04:10 Der er 13 kommentarer og
1 løsning

LinkButton on the fly

Jeg skal have indsat foelgende LinkButton's i mit aspx doc:

<asp:LinkButton id="lbtnFriends" Text="Friends" Runat="Server" OnCommand="updateMenu" CommandName="menu" CommandArgument="1" />
<asp:LinkButton id="lbtnPictures" Text="Pictures" Runat="Server" OnCommand="updateMenu" CommandName="menu" CommandArgument="3" />
<asp:LinkButton id="lbtnNews" Text="News" Runat="Server" OnCommand="updateMenu" CommandName="menu" CommandArgument="5" />

Min subroutine updateMenu ser saaledes ud:

Sub updateMenu(sender As Object, e As CommandEventArgs)
  If e.CommandName = "menu" Then
    Response.Write(e.CommandArgument)
  End If
End Sub

Alt dette virker fint. Nu er det bare saadan at vaerdierne(text feltet og CommandArgumen feltet) i linkbutton's skal laves dynamisk, da det er et udtraek fra en database. De jeg vil proeve at holde den nye asp.net stil, skal jeg lave dem vha.:

for alle databaseudtraek
  Dim lbtnTest As LinkButton
  lbtnTest = new LinkButton()
  lbtnTest.CommandName = "menu"
  lbtnTest.CommandArgument = databaseudtraek
  lbtnTest.Text = databaseudtraek
  ...
  ...
  ...
  o.s.v.
  plhMenu.Controls.Add( lbtnTest )
Next

hvor plhMenu er en placeholder. Det eneste der er mit problem her er at jeg ikke kan kan lave dette:

lbtnTest.OnCommand = updateMenu


HVORDAN GOER JEG DET???

Please help
Avatar billede Lasse Novice
06. februar 2002 - 04:14 #1
hvis det kan goeres paa en HELT ANDEN maade, er dette ogsaa point vaerd. Jeg vil bare ikke ind paa den gamle ASP syntax:

<% For bla bla bla%>
response.Write(bla bla bla)
<% Next %>
Avatar billede euroman28 Nybegynder
06. februar 2002 - 11:11 #2
Jeg har brugt noget af det samme i et program.
Du skal lave en databind mellem LinkButton og datasettet(evt. lav et datagrid med linkbuttons)
Derefter opdater du det bare med
LinkDataGrd.Databind()
Avatar billede Lasse Novice
06. februar 2002 - 17:05 #3
ja, det var faktisk ogsaa min foerste tanke, men det er desvaerre ikke helt saa enkelt. Jeg skal have lavet en menu. I menuen er der 2 "levels"(root og dens boern). Ligesom her:

Hoved1 - barn11
      - barn12
      - barn13
Hoved2 - barn21
      - barn22
Hoved3 - barn31
      - barn32
      - barn33
      - barn34

Afhaengig af om det er et barn eller en hoved skal der udskrives noget forskelligt. Derfor har jeg problemer med at udskrive via en ItemTemplate. Har du en loesning til det euroman?
Avatar billede reffak Nybegynder
06. februar 2002 - 18:14 #4
Hej
Har du ikke byttet rundt på den problematiske kommando? Burde det ikke være :
updateMenu = lbtnTest.OnCommand

-Det er vel updateMenu der skal tildeles en event...?

MVH
Avatar billede Lasse Novice
06. februar 2002 - 18:37 #5
Hej reffak.

Har du selv faaet det til at virke?

Jeg kan ikke faa det til at virke. Jeg har enu foelgende:

Sub testing

End sub

Sub Page_Load(Src As Object, E As EventArgs)

Dim lbtnTest As LinkButton
    lbtnTest = new LinkButton()
    lbtnTest.CommandName = "hejsan"

    lbtnTest.Text = "Hello med dig"
    testing = lbtnTest.OnCommand

    plhMenu.Controls.Add( lbtnTest )

End Sub

Jeg faar fejlen

BC30068: Expression is a value and therefore cannot be the target of an assignment.
Avatar billede reffak Nybegynder
06. februar 2002 - 19:33 #6
Den første var et skud fra hoften :-). Men her kommer en løsning (har testet, virker på min asp.net final).
Den famøse kommando skal erstattes med :

AddHandler lbtnTest.Click, AddressOf updateMenu

MVH
Avatar billede Lasse Novice
06. februar 2002 - 19:56 #7
ok, det var taet paa det jeg ville have, men jeg kunne selv regne resten ud:

AddHandler lbtnTest.Command, AddressOd updateMenu.

Anyway, hvor har du fundet ud af dette henne? Er der en bog der er lidt bedre end de normale man koeber(fordi saadanne ting staar ikke deri), eller er der et super sted paa internettet?
Avatar billede reffak Nybegynder
06. februar 2002 - 20:18 #8
MSDN er the way to go. Der finder du en komplet dokumentation af ASP.NET samt tonsvis af samples og how-to's. Helt og fuldstændigt uundværligt.

Der er en online udgave af msdn på www.msdn.microsoft.com - men det er ikke den samme information, slet ikke så specifik.

Så ud og finde MSDN i butikkerne...eller din lokale dealer :-)
Avatar billede reffak Nybegynder
06. februar 2002 - 20:19 #9
Nåja, glemte et andet enormt godt sted : www.123aspx.com . Meget gode søgefunktioner, tonsvis af kode.

CU
Avatar billede Lasse Novice
06. februar 2002 - 22:06 #10
jeg har saadan set msdn, men min er vel ikke opdateret. Jeg har en som foelger pakken visual studio net 6.

Jeg har dog .Net Framework documentation final... Er det den du taenker paa, eller skal jeg lige invistere i en ny msdn
Avatar billede reffak Nybegynder
08. februar 2002 - 13:30 #11
Jeg tænker på den MSDN der følger med til Visual Studio .NET Final. Der følger - mig bekendt - kun nogle samples med til Framework, ingen rigtig dokumentation.

Så ja, du skal nok have fat i en ny - men skaf hele Visual Studio .NET : Det er det hele værd :-).
Avatar billede Lasse Novice
08. februar 2002 - 16:22 #12
Ja, det er lige det med at skaffe den....

Hmm, jeg maa vist kigge lidt hos min lokale dealer....

anyway, jeg fandt ud af at det ikke kunne bruge alligevel. Jeg ville gerne have haft at dens viewstate blev gemt, men det goer den ikke, saa jeg skal koere dette programmel HVER gang... hmm, jeg er startet paa at lave min egen control i stedet for
Avatar billede reffak Nybegynder
09. februar 2002 - 11:30 #13
Det du nævner med ViewState:
Du har set, at alle controls har en property der hedder EnableViewState? Altså f.eks. lbtnTest.EnableViewState = True

Ved ikke om det var der problemet lå?
Avatar billede Lasse Novice
09. februar 2002 - 19:36 #14
Problemet er at jeg skal oprette kontrollerne hver gang. At gemme viewstate, betyder ikke at kontrollen er vist paa skaermen naeste gang sidne postes. Det er i hvert fald min erfaring.

Jeg har imidlertid faaet lavet mig en kontrol. Den er naesten faerdig, saa nu kan jeg bruge den ligesom datagrid, datalist, repeater. Det virker rimelig coolt. Jeg har dog fundet ud af at man alligevel skal oprette kontrollerne hver gang. Jeg troede at der var en smartere maade(ligesom perl), men det er der ikke.
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