Avatar billede smileymans Praktikant
13. juni 2011 - 19:14 Der er 9 kommentarer og
1 løsning

Smide custom profile informationer i et gridview eller lign?

Hey.

Nu har jeg i 2 dage forsøgt at liste fornavn, efternavn og by i en liste over brugere på et website.
Jeg har kigget alle steder efter måder at lave et databind på gridview eller i en tabel, men det er ikke lykkedes mig endnu.

Jeg har prøvet at binde  ProfileManager.GetAllProfiles() til gridview, men det giver mig ikke de rigtige informationer :-(

Jeg har heller ikke rigtig kunne finde en ordentlig guide på nettet. Hverken på dansk eller engelsk. Måske fordi jeg har brugt forkerte søgeord?
Så en forklaring til hvordan jeg gør eller et godt link til en guide vil blive værdsat :-D

På forhånd tak
Avatar billede Syska Mester
13. juni 2011 - 19:26 #1
Avatar billede smileymans Praktikant
13. juni 2011 - 23:05 #2
Jeg har kigget på det link før.

Det eneste jeg får ud af det, er en liste med brugernavne, lastactivity, lastUpdated, IsAnonomous og size.
Hvad jeg gerne ville have fat i er fornavn, efternavn og by. Allesammen defineret i web.config :-)
Avatar billede Syska Mester
14. juni 2011 - 00:29 #3
Ahhh,

Det er custom properties på hver enkelt bruger du så skal trække ud.


1. Lav din egen user class.
2. Hent alle brugere.
3. For hver bruger skal du så hente de custom properties
4. Assign dem til din egen user class og smid dem ned i en List<User>
5. Data bind til din List<User>

Den indbyggede Profile ting er skod, netop pga overstående og den måde den er opbygget på. Den bliver ikke rost, men er udemærket til små sites hvor man skal hurtigt igang.

Håber det hjælper dig videre.

mvh
Avatar billede janus_007 Nybegynder
14. juni 2011 - 00:43 #4
Jep og det er også korrekt... :)

tjek denne: http://msdn.microsoft.com/en-us/library/system.web.profile.profileinfocollection_members(VS.80).aspx

her kan du se at GetAllProfiles giver dig en collection af ProfileInfo. Du skal enten bruge en ProfileBase eller itererer over ProfileInfo -> Username og for hver username hente profilen ud og derefter... og husk at den ikke er strong typed.. dvs. du skal referere til attributten vha. ["attributnavnet"], søg på ProfileBase og find lidt mere info omkring dette.

Der findes ingen "nem" måde til det du gerne vil :-|

Hvis det var et krav at skulle bruge Profiles ville jeg nedarve fra ProfileBase og iterere over UserName fra GetAllProfiles og for hver UserName initialisere min nedarvede type. Denne type ville jeg smide ind i en collection/ list og herefter sætte som DataSource :)
Avatar billede janus_007 Nybegynder
14. juni 2011 - 00:46 #5
LOL.. jeg var åbenbart lang tid om at skrive haha...

Men jo... det er det samme buzzz siger... pointen er at der ikke findes nogen nem måde!! Samtidigt bør det også nævnes at det jo ikke performer videre godt, så hvis du regner med at der skal være mange mange brugere som skal se de mange mange brugere, så bør du måske kigge dig om efter en bedre løsning :)
Avatar billede Syska Mester
14. juni 2011 - 02:09 #6
Eller i hvert fald bruge Cache af den side eller liste.

Det er ikke rosende ord der kommer fra folk om den måde det er lavet på, men alligevel giver det det en del ting out of the box. Men performance er en by i rusland lige netop for den her løsning. Alt for meget overhead og 10000000000000 SP'er.

mvh
Avatar billede smileymans Praktikant
15. juni 2011 - 18:32 #7
Der er lidt at kigge på.

Det endte med at blive alt for besværligt til lige den opgave jeg er ved, så jeg lavede en ny tabel i min database med UserData og brugte gridview til at liste brugerne :-D
Når jeg så opretter brugere, så opretter den først selve membership brugeren, og smider derefter oplysningerne til brugeren i den nye tabel :-D

Der kommer ikke til at være mere end højst 20 brugere på sitet, så performance i den sammenhæng er ikke så vigtigt :-D

1000 tak for hjælpen ellers. Ved ikke lige hvordan jeg skal dele point ud på den her :-D
Avatar billede smileymans Praktikant
17. juni 2011 - 13:40 #8
Jeg skriver lige et svar til mig selv. Hvis der er nogen af jer der føler jer snydt for point, så må i lige skrive til mig :-D
Avatar billede Syska Mester
17. juni 2011 - 13:57 #9
Well ... det er jo op til dig at dele point og hvad information du kunne bruge.

Point betyder ikke så meget, jeg er bare glad for at kunne hjælpe.
Avatar billede smileymans Praktikant
19. juni 2011 - 11:59 #10
Jeg er skam glad for at få hjælp :-) Fandt da ud af, at jeg ikke kunne vise profileinformationer lige sådan uden først at bygge en userclass.. Så det fik mig til at lede lidt i alternative retninger :-D
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