Archief - Opvragen van user details (zoals age, length, ..) adhv profilecommon-class

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

mattyh88

Legacy Member
Ik ben bezig met een asp.NET MVC applicatie te maken. Het gaat om een bepaalde community-site die ik wil maken, waarbij er dus users kunnen registreren. Ik heb er reeds voor kunnen zorgen dat users een profiel kunnen invullen (leeftijd, lengte, geboorteplaats, enz ...) en opslaan.

Nu heb ik als een test op mijn index al mijn geregistreerde users gezet. Dit lukt.

Maar wat ik nu wil doen, is natuurlijk de details (dus leeftijd, lengte, geboorteplaats, enz ...) opvragen van andere geregistreerde gebruikers.

Ik heb al heel veel zitten zoeken, maar vind alleen veel info terug rond deze topic in asp.net (dus niet de mvc, want in mvc werkt dit anders)

Het enige dat ik eigenlijk terugvindt over asp.net mvc is dit:

Zorgt ervoor dat de leeftijd getoond wordt van de huidig ingelogde user. Maar ik wil dus ook deze info kunnen opvragen van andere users.
Code:
HttpContext.Current.Profile.GetPropertyValue("Leeftijd")

Drone

Legacy Member

mattyh88

Legacy Member
Ok, dit werkt. Wel rare naam "create". Zou eerder "load" of "get..." verwachten. :)
Maar, kan je's uitleggen waarom ik moet "oppassen" met die create? :)

Drone

Legacy Member
Als je bijvoorbeeld al je gebruikers zou doorlopen en per gebruiker gegevens opvraagt zal dit zeer inefficiënt zijn. Vermits er per gebruiker dan een SQL query wordt uitgevoerd. Je zal dus een manier moeten zoeker om met 1 query alle profile properties op te vragen.

mattyh88

Legacy Member
Ahja, was gewoon performance-based gezien. Ok :)
Maar nu ben ik bezig met een ActionLink te zetten rond elke user die hij vindt. (op de index.aspx pagina)

Zoiets:
Code:
<%foreach (MembershipUser user in Model){ %>
       <li>
           <%= Html.ActionLink(user.UserName, "UserDetails", new { usr = user.UserName })%>
       </li>
<% }%>

Als mensen dus klikken op de naam komen ze terecht op de UserDetails pagina. Dat werkt. Maar welk model moet ik nu juist meegeven bij "Inherits="System.Web.Mvc.ViewPage" op de UserDetails.aspx pagina voor dan de gewenste properties op te vragen van de user uit zijn profiel?

ProfileBase.Create("Jan").GetPropertyValue("Leefti jd");
Waar dat "Jan" staat moet ik dus dynamisch aan de username kunnen via "Model".

Sorry dat et nie goe uitgelegd is (a) :)

Drone

Legacy Member
Is een goeie vraag. Ik denk niet dat er 1 object is waar je en de username en alle properties kan opvragen. Wat ik wel veel zie is dat ze apparte classes maken voor viewdata. Je kan bv je eigen user classe maken en die dan opvullen met al de data die je wenst.

Code:
public class ViewDataUser
{
    public string Username{ get; set; }
    public int Leeftijd{ get; set; }
    ...
}

mattyh88

Legacy Member
'k Heb et opgelost gekregen ^^

In de HostController ne action geschreven die ne string "usr" binnenkrijgt als parameter en dan een ActionLink geschreven op mijn index.aspx die dan de "usr" par doorgeeft naar de HomeController.

De action in de HomeController zorgter dan voor dat de UserDetails-View met als object "MembershipUser" opgeroepen wordt met de juiste user. :)

'k Heb ook een route geschreven zodat ik iets krijg als: .../Home/username

thx for the help Drone :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan