2010-04-11 18 views
5

Estoy utilizando ASP.NET MVC 1 y he agregado una clase de perfil personalizada utilizando el complemento WebProfile Builder VS (que se encuentra aquí: http://code.msdn.microsoft.com/WebProfileBuilder/Release/ProjectReleases.aspx?ReleaseId=980).ASP.NET MVC Obtenga una lista de usuarios con propiedades de perfil particulares

En uno de mis formularios, quiero una lista desplegable de todos los usuarios que comparten un valor de perfil específico en común.

puedo ver que puedo conseguir una lista de todos los usuarios usando:

Membership.GetAllUsers() 

Sin embargo, no puede ver la forma de llegar a todos los usuarios que tienen un valor de perfil específico, que en mi caso es CellId.

¿Me estoy acercando a esto de la manera correcta? He utilizado roles de membresía para definir qué usuarios son administradores, etc., pero los perfiles parecen ser el lugar adecuado para agrupar a los usuarios.

Me agradecerán cualquier información sobre cómo acceder a la lista de usuarios, pero también comentarios sobre si estoy siguiendo el camino correcto aquí.

Muchas gracias, Sam

Respuesta

3

No hay API de consulta para el perfil, pero esto le puede dar alguna orientación:

var usersWithNonZeroCounter = Membership.GetAllUsers().Cast<MembershipUser>() 
    .Where(user => true /*insert your user criteria here*/) 
    .Select(user => ProfileBase.Create(user.UserName, true)) 
    .Where(profile => ((int)profile["counter"]) > 0 /*insert your profile criteria here*/) 
    .ToList(); 
1

Si sólo necesita una comparación puede utilizar siguiente declaración:

return Membership.GetAllUsers().Cast<MembershipUser>() 
     .Where(user => ((int)ProfileBase.Create(user.UserName, true)["Owner"]) == _ownerid); 

Si necesita más evaluaciones, ¿por qué no usa el operador para almacenar el prof ile en.

Cuestiones relacionadas