Nombre de membres à l'intérieur de mon site communautaire est faux
-
10-12-2019 - |
Question
J'ai une collection de site communautaire qui utilise trois membres, puis je supprime deux membres du site communautaire.Mais sur la page d'accueil toujours, le nombre de membres sous la section "Quelle" section "est trois au lieu d'un comme suit: -
Et si je clique sur la section des membres, il affichera un membre, alors pourquoi le compteur des membres affiche toujours trois membres?
La solution
Ceci est le comportement par défaut du produit.Je ne sais pas pourquoi Microsoft a décidé que cela est impair.Si vous laissez la communication, vous présentez toujours le même numéro.
J'ai déjà écrit à Microsoft afin de pouvoir le vérifier, mais il semble être le comportement souhaité, car la communauté stocke vos données historiques (badges, discussions, etc.) et ne sera jamais supprimé
Je veux vous montrer un code pour obtenir les membres d'une communauté déjà jointe.
SPWeb web = SPContext.Current.Web;
SPList Members = web.Lists.TryGetList("Community Members"));
try
{
SPQuery query = new SPQuery();
query.Query = "<Where><Eq><FieldRef Name="MemberStatusInt"/><Value Type="Integer">1</Value></Eq></Where>";
SPListItemCollection colection = Members.GetItems(query);
int membersJoined = colection.Count
}
catch (Exception)
{
}
Le champ Memberstatusid indique si le membre "appartient" ou non à la communauté.Si la valeur est 2, le membre a jamais quitté la communauté. En réalité, lorsque vous quittez la communauté, les membres du champtatusid sont définis sur 2 et que RéputationsCore est défini sur -1
Créer une webpart avec une étiquette indiquant les membres "réels" de la communauté à l'aide du code fourni.Bonne chance
Autres conseils
La raison pour laquelle vous obtenez un numéro erroné est que la page Web est la lecture du sac de propriété Web. L'option créerait donc une nouvelle partie Web suggérée par Alvmad ci-dessus ou à la mise à jour du sac de propriété Web. La dernière option est peut-être pas une façon. Puisque je ne sais pas si cela est même pris en charge par Microsoft.