[ASP.net] Webcontrols Treeview TAG property

Pagina: 1
Acties:

  • maartenba
  • Registratie: November 2001
  • Laatst online: 29-07-2024
Voor school zijn we bezig met een project te ontwikkelen in ASP.net.
Alles lukt goed, behalve het opslaan van een object in de TAG property van een TreeNode (die TAG property is er namelijk niet)

Bestaat er een comfortabele manier om een object te koppelen aan een bepaalde TreeNode uit een TreeView, zodat we bv. bij een Click op die TreeNode een methode van het ingekapselde object kunnen oproepen ?

We maken gebruik van de Microsoft WebControls.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Als die TreeNode echt geen enkele andere property heeft die je geschikt lijkt, zou je eventueel een HashTable object kunnen gebruiken.
Als key gebruik je dan de naam van de treenode, en als value een delegate naar de method die je dan wilt uitvoeren.

Wat wil je precies uitvoeren als er op zo'n node geklikt wordt?

https://fgheysels.github.io/


  • maartenba
  • Registratie: November 2001
  • Laatst online: 29-07-2024
Kzal de HashTable eerst eens gebruiken, dit lijkt me de makkelijkste oplossing.
Bedoeling is om een pointer (zo noemt het wel niet in VB natuurlijk) naar het bijhorende object "Keuze" toe te voegen aan iedere TreeNode.
Op die manier kan ik, na een klik op de TreeNode, deze pointer ook toevoegen in een ListBox (die de lijst met geselecteerde TreeNodes moet tonen)

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Ah, je wil er objecten in steken, dan is dat over die delegates natuurlijk niet van toepassing. Dan prop je gewoon dat object in de hashtable.
(Al is een delegate natuurlijk ook een object). ;)

https://fgheysels.github.io/


  • maartenba
  • Registratie: November 2001
  • Laatst online: 29-07-2024
Heb het net geprobeerd, werkt netjes.
Wel spijtig dat MS geen .Tag property voorziet in ASP.net zoals in VB.net...

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Hmm, ff ter verduidelijking: ASP.NET is een platform; geen taal. Je gebruikt in ASP.NET ook VB.NET of C# als programmeertaal.

Verder is het best logisch dat ie die tag property niet kent, aangezien je in web-apps met clientside / serverside spul te maken hebt.
Eens je page getoond wordt in de browser, bestaat die page niet meer op de server. Waar moet hij dan die objecten die in die tag zitten bewaren? Het zou in de viewstate kunnen bewaard worden, maar dan wordt je pagina nogal log.

https://fgheysels.github.io/


  • maartenba
  • Registratie: November 2001
  • Laatst online: 29-07-2024
Andere objecten houdt .NET toch ook ergens serverside nog bij gedurende je sessie ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
maartenba schreef op 04 februari 2004 @ 22:09:
Andere objecten houdt .NET toch ook ergens serverside nog bij gedurende je sessie ?
Zoals? Geef eens een voorbeeld?

Zolang je het zelf niet expliciet opgeeft, worden je objecten/variabelen niet in een Sessie / Application state bewaard.
Je kan de 'viewstate' van bepaalde controls wel opslaan, maar dat gebeurt dan in de ViewState, dus in de pagina zelf.

https://fgheysels.github.io/


  • maartenba
  • Registratie: November 2001
  • Laatst online: 29-07-2024
Ok, inderdaad, die viewstate groeit nogal aan als je veel TextBox-en etc. opneemt...
Weeral bedankt voor deze bijles, toch dringend de docent VB.Net eens op cursus sturen vooraleer die man cursus geeft aan ons...
Pagina: 1