[asp.net] Web Usercontrol met meerdere schermen/pagina's

Pagina: 1
Acties:

  • Rodyman
  • Registratie: November 2001
  • Laatst online: 08-06-2024
Ik zit een beetje te twijfelen over hoe ik het volgende het beste aan kan pakken:

Ik ben bezig een soort fotoalbum-control te maken in asp.net. Hierbij laat ik verschillende fotos als thumbnails in een overzicht zien. Wanneer er op een thumbnail geklikt wordt moet het overzicht verdwijnen en de foto (groot) getoond worden met wat extra opties (vorige/volgende/terug/etc.).

De bedoeling is dat het een control wordt die gemakkelijk in een website geplaatst kan worden en gelinked kan worden aan de directories met de foto's.

Zo zit het nu in elkaar:

gallery.ascx bevat de html code voor het overzicht van de fotos.
gallery.ascx.cs bevat de code-behind code hiervan.

wanneer er nu op een foto geklikt wordt verschijnt de foto gewoon in de browser in plaats van de huidige pagina, maar wat ik wil is dat de inhoud van de usercontrol veranderd in hetgene wat de foto toond met de andere opties.

Nu heb ik het geprobeerd om te laten linken naar een losse andere .aspx pagina, maar dat werkt niet optimaal omdat ik ze ook de rest van de pagina kwijt raak. Ook een nieuwe usercontrol aanmaken is voor het tonen van de foto is volgens mij niet ideaal.

Wat ik eigenlijk wil hebben is dat de inhoud van de gallery.ascx file 2 pagina's bevat die los van elkaar getoond kunnen worden.

Volgens mij denk ik veel te ingewikkeld voor iets wat volgens mij redelijk makkelijk op te lossen is.

Hoe zouden jullie dit aanpakken?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 20:37

mulder

ik spuug op het trottoir

Je zou een GalleryOverviewControl en een PictureViewControl kunnen maken en die laden in een GalleryControl :)

oogjes open, snaveltjes dicht


  • Rodyman
  • Registratie: November 2001
  • Laatst online: 08-06-2024
Don Facundo schreef op woensdag 15 februari 2006 @ 17:37:
Je zou een GalleryOverviewControl en een PictureViewControl kunnen maken en die laden in een GalleryControl :)
Kun je dat een beetje uitgebreider uitleggen wat je hiermee bedoelt?
Een soort container control die beide controls bevat en beurtelings weergeeft ofzo?

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 09-04 11:45
Het kan op zich ook wel met een Multiview control, zit standaard in VS.NET Studio 2005

sensei_d.fpv channel


  • Rodyman
  • Registratie: November 2001
  • Laatst online: 08-06-2024
MariahCareyLover schreef op donderdag 16 februari 2006 @ 12:31:
Het kan op zich ook wel met een Multiview control, zit standaard in VS.NET Studio 2005
En zouden jullie dat beschouwen als de aan te raden manier? Een multiview control in mijn usercontrol met de 2 verschillende html-inhoud erin?

  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 05-04 18:13
Of je plaatst de components op de control en maakt de een hidden=true en de andere hidden=false als op de foto geklikt wordt.

  • rainmaker2k
  • Registratie: Juli 2002
  • Laatst online: 01-03 20:17
MariahCareyLover schreef op donderdag 16 februari 2006 @ 12:31:
Het kan op zich ook wel met een Multiview control, zit standaard in VS.NET Studio 2005
Ik zou ook voor deze oplossing gaan. Lijkt me wel de makkelijkste oplossing.

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 09-04 11:45
Rodyman schreef op donderdag 16 februari 2006 @ 16:52:
[...]

En zouden jullie dat beschouwen als de aan te raden manier? Een multiview control in mijn usercontrol met de 2 verschillende html-inhoud erin?
Wat de meest aan te raden manier is weet ik niet. Dit is een manier, maar er zijn er ongetwijfeld meer... Ik ben eigenlijk ook wel benieuwd of deze methode de meest praktische is.

sensei_d.fpv channel


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 01-04 20:36

Not Pingu

Dumbass ex machina

Mastermind schreef op donderdag 16 februari 2006 @ 20:57:
Of je plaatst de components op de control en maakt de een hidden=true en de andere hidden=false als op de foto geklikt wordt.
Dat is eigenlijk wat een multiview voor je doet.

Ik weet niet of je fotoalbum usercontrol dynamisch wordt ingeladen, maar je zou het volgende kunnen overwegen:

2 of meer usercontrols, elk met een eigen functie. Dus eentje voor het albumoverzicht, eentje voor de detailweergave van een foto, etc.

De hyperlinks in het albumoverzicht hebben een querystringtoevoeging zoals: "actie=detail".
Je pagina laadt dynamisch de usercontrol in (dmv. Page.LoadControl() en dan placeholder.Controls.Add()).

Standaard laadt ie de albumoverzicht-usercontrol in, tenzij er actie=detail in de querystring staat, dan laadt ie de detail usercontrol in.
Dit systeem is erg uitbreidbaar met bijv. een albumlijst -> alle foto's in een album -> detail van een foto, of bijv. aparte schermen voor het uploaden van foto's erbij.

Certified smart block developer op de agile darkchain stack. PM voor info.


  • Rodyman
  • Registratie: November 2001
  • Laatst online: 08-06-2024
Ik heb hem vanavond omgebouwd mbv een multiview, en ik moet zeggen dat werkt geweldig! Ik moet nog wat aan de achterliggende structuur doen, maar de multi-view component biedt is wat mij betreft zeker de beste oplossing hiervoor!

Het enige nadeel wat ik kan bedenken is dat je met meerdere grotere views een nogal grote .ascx pagina krijgt, maar voor deze 2 views is het nog goed te doen.

  • Sensei_D
  • Registratie: Maart 2002
  • Laatst online: 09-04 11:45
Rodyman schreef op donderdag 16 februari 2006 @ 23:39:
Het enige nadeel wat ik kan bedenken is dat je met meerdere grotere views een nogal grote .ascx pagina krijgt, maar voor deze 2 views is het nog goed te doen.
Een ander gevaar hiervan is dat je viewstate nogal groot KAN worden, want voor beide views wordt de complete viewstate steeds geladen. Wel cool dat het gelukt is!

sensei_d.fpv channel


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 01-04 20:36

Not Pingu

Dumbass ex machina

En dat zouden weer redenen kunnen zijn om de verschillende schermen in aparte usercontrols uit te werken.

Certified smart block developer op de agile darkchain stack. PM voor info.

Pagina: 1