Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[ASP.NET2.0/C#.NET]Hoe te werk te gaan (design pattern?)

Pagina: 1
Acties:

  • Razr
  • Registratie: September 2005
  • Niet online
Mede devvers,

Voor een webapplicatie ben ik bezig met een controle paneel. Nu zijn er verschillende soorten panels (dit even terzijde) en in één van deze panels, moeten er overzichten getoond worden van gegevens welke in een locale database staan (gewoon mssql).

Nu moet er dus een webpagina komen waarin men eerst een voorwaarde moet kunnen kiezen door bijv. een dropdownlist en hierna moet er een overzicht getoond worden. Voor het overzicht wordt waarschijnlijk een gridview gebruikt maar dat is nu niet zo belangrijk.

Ik had twee manieren uitgedacht waarop dit mogelijk zou zijn:

Manier 1:

Root
-- Site bestanden
---- Controlepaneel1
------ Default.aspx
------ Overzicht.aspx

Vervolgens staat er een dropdown in Overzicht.aspx welke aan de hand van de gekozen waarde een querystring neerzet. Dan wordt er in de codebehind afhankelijk van de querystring een overzicht gemaakt en getoond. Dus je krijgt dan bijv. iets als Overzicht.aspx?t=gebruikers

Of de volgens mij betere manier 2:
Root
-- Site bestanden
---- Controlepaneel1
------ Default.aspx
-------- Overzichten
---------- Default.master
---------- Gebruikers.aspx
---------- Blaat.aspx

Hier wordt de dropdown in de masterpage gezet (Default.master), vervolgens bij een selectionchange event word er geredirect naar de desbetreffende pagina bijv. Gebruikers.aspx.

Bij manier 2 krijg je uiteindelijk veel meer pagina's maar dit is wel overzichtelijker lijkt mij? Hoe pakken jullie dit aan? Ik kon hier niets over vinden in mijn boek over Design Patterns, ik weet ook niet of dit daar wel onder valt?

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Manier 1 is beter. Je moet je code (dus je pagina's) opdelen op basis van functionaliteit, niet op basis van data. Je zegt zelf al dat je gegevens uit een database komen: wat doe je als er straks extra categorieen bijkomen? Elke keer een nieuwe pagina (copy/paste) aanmaken? Of nog erger, wat doe je als je straks opeens twee dropdown boxes komen (of drie)? Dan krijg je een combinatorische explosie aan pagina's, niet doen dus.