Avatar billede pablopablo Nybegynder
10. september 2007 - 19:28 Der er 16 kommentarer og
1 løsning

user controls og generering af sider

Hejsa...

Jeg har en del små billeder, som hver især skal sættes sammen med nogle labels og links.

Derfor er jeg igang med at lave et web user control...som indeholder en lille tabel hvori jeg så har indsat de nødvendige komponenter...

det jeg ønsker er, at vise fx. 10 komponenter per side og så have en menu hvor brugeren kan gå videre til næste side...hvis der er flere end 10 billeder tilgængelige på det pågældende tidspunkt...alle info ligger i en ms sql db...

Mit spørgsmål går på, hvordan laver jeg lettest og smartest denne funktionalitet i asp.net 2.0?

Jeg håber I er med på hvad jeg mener? :)

Mvh. PabloPablo
Avatar billede neoman Novice
10. september 2007 - 20:57 #1
Hvad er du egentligt i tvivl om ? Det er nok nemmest at besvare specifikke spørgsmål.
Avatar billede pablopablo Nybegynder
10. september 2007 - 22:16 #2
hehe, ja tænke nok at det ikke stod helt klart...
Men det jeg sørge svar på, er, hvordan I ville lave det? Findes der noget smart i asp.net 2.0...et komponent eller lign. til at opnå den funktionalitet.

Altså jeg kan ikke se andre udveje end at lave min egen User Control (UC) som indeholde billede, links og labels. Men hvad jeg skal lægge UC ind i efterfølgende, for at det bliver let at arbejde med, er jeg i tvivl om. Jeg vil jo gerne have at det bliver stillet pænt op og at en menu med de nødvendige links: << < 1 side, side 2, side 3, ... > >> automatisk bliver genereret ud fra det som er nødvendigt.
Avatar billede neoman Novice
10. september 2007 - 22:23 #3
Det er klart som blæk :)

Det mindst arbejdskrævende er at tage et GridView, bruge TemplateFields... og så er den ikke længere. Den har paging indbygget, så man slipper for at tænke på den slags. Et eksempel på hvad jeg mener er her: http://starterkits.asp.net/SmallBusiness/People.aspx

Kolonnen : Fabrikam Employee Profiles er et gridview med paging
Avatar billede neoman Novice
10. september 2007 - 22:25 #4
og du kan hive hele sitet ned og se hvordan det er laver herfra: http://www.asp.net/downloads/starter-kits/small-business/
Avatar billede pablopablo Nybegynder
10. september 2007 - 22:29 #5
hhmm...det har jeg faktisk rodet en del med...dog et stykke tid siden, derfor havde jeg lige overset den mulighed...:)

Dog kan jeg ikke huske om det er muligt at køre med fx. 2 rækker med 5 stk elementer i hver række i gridviewet...således at der ialt er 10 elementer pér side...
Avatar billede neoman Novice
10. september 2007 - 22:38 #6
Umiddelbart er det så en datalist du ska have fat i - den kan man få i ønsket antal søjler. Men, så skal du selv lave paging, når du ikke gider se flere rækker på een side.

Et gridview er nok bundet til EEN DB-række per række.. kan ikke lige komme i tanker om nogen work-arounds på stående fod, medminder man begynder at lægge ting ind i hinanden - gridview in gridview, eller lign
Avatar billede pablopablo Nybegynder
10. september 2007 - 22:38 #7
Kan du se hvordan jeg kan greje den?
Avatar billede pablopablo Nybegynder
10. september 2007 - 22:45 #8
jeg vil gerne have flere rækker! fx. 2...men idet at data ikke fylder så meget, så vil jeg gerne have flere elementer ved siden af hinaden...rækker og kolonner er ikke lige de korrekte ord at bruge i denne forbindelse...forstil dig...at du skal liste div. personer inkl. deres info, fra den side du linkede til tidligere op ved siden af hinanden...fx. 5 personer pér række....i stedet for, at det hele bare står lige under hinanden...
Avatar billede neoman Novice
10. september 2007 - 22:48 #9
JA da -  brug datalist og lav din egen paging.  Hvis du kører med ms sql 2005 så har den en rækketæller som jeg ikke li kan huske hvad hedder - spørg om det i ms sql kategorien. For paging med datalist, google. Den dovne løsning er at lave et dataset og hive det hele ind, og så kan du jo nemt lave paging i datasettet. Den mere avancerede er så den med rækketælleren i MS SQL, hvor man blot hiver det ind som skal bruges på siden.

Hvis du har et flerbrugersite, så kan et dataset alligevel vise sig at være den mest effektive løsning, når det er cachet, så settet bliver fyldt en gang for alle og alle siderne hiver de 10 records ud fra datasettet.
Avatar billede neoman Novice
10. september 2007 - 22:49 #10
for en datalist kan du specificere hvor mange records "henad" du vil have
Avatar billede pablopablo Nybegynder
10. september 2007 - 23:03 #11
ja okay...det må jeg prøve at lege med... dog ændres indholdet af databasen ofte...så jeg ved ikke lige hvad der er smartest...men tror nu at jeg benytter datasettet...da det er dejligt integreret :) Jeg kan vel bare gør så siden aldrig bliver cachet...

Jeg har hentet den site ned du linkede til tidligere...men kan ikke lige starte det op efter at have installeret det...? hvad skal man klikke på...det ligger flere forskellige .zip filer forskellige stender? Har du et godt link til brugen af datalist?
Avatar billede neoman Novice
10. september 2007 - 23:18 #12
datalist ? lav en side og prøv - i dens Properties kan du sige hvor mange du vil have henad skærmen inden den skifter linje.

Det er datasettet som skulle caches - så slipper man for en masse db-kald.

zip-filer ? kan ikke helt huske hvordan det gik med der site - det kom da vist med en MSI installer som man bare kørte ?
Avatar billede pablopablo Nybegynder
10. september 2007 - 23:27 #13
nå jeg skal jo også bruge et listview, så det er lige meget med sitet...Jeg prøver at finde et eksempel med et listview som er koblet til db...og som benytter paging...:)

Mange tak for hjælpen! Læg et svar...
Avatar billede neoman Novice
10. september 2007 - 23:35 #14
ok - have fun :)
Avatar billede neoman Novice
11. september 2007 - 10:02 #15
Jeg glemte at nævne, at den nememste metode til at lave paging selv er nok at bruge en datasource. For eksempel, for en SqlDataSource kan du enable caching. Når du har gjort det, så kan du for datasourcen definere et filter - dvs specificere hvilke rækker skal komme frem. Sourcen gør det, at den henter hele datasettet og cacher det, og når der bliver kaldt databinding, så leverer den et dataview, afhængigt af hvad der blev sat som filterexpression. Så skal du blot selv styre, i din filterexpression, hvilke rækker der skal med i dataviewet.

datalisten binder du blot normalt til datasourcen, og dit filter styrer hvilke rækker vises.
Avatar billede pablopablo Nybegynder
11. september 2007 - 10:49 #16
Hej - mange tak for det :)
Jeg fandt selv dette eksempel igår: http://weblogs.asp.net/scottgu/archive/2006/01/07/434787.aspx

Det ser ellers meget fornuftigt ud...men ved ikke om det med filter er bedre eller blot lettere...??
Avatar billede neoman Novice
11. september 2007 - 10:59 #17
det er anderledes , fordi på dit link hentes kun det der skal per side, mens i mit forslag så hentes hele baduljen og caches. Hvad er bedst må du selv vurdere.. og artiklen afslører den der fikse rækketæller jeg talte om : Row_Number:)
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