Comment : supprimer des entrées d'utilisateur du magasin de personnalisations
Mise à jour : novembre 2007
Dans une application Web ASP.NET qui utilise la personnalisation, il existe des situations dans lesquelles vous pouvez devoir supprimer des entrées du magasin de personnalisations. Comment : permettre aux utilisateurs d'effacer l'état de personnalisation illustre l'approche la plus simple, qui consiste à exposer la méthode ResetPersonalizationState par le biais d'un contrôle sur la page afin que les utilisateurs individuels puissent supprimer toutes les données de personnalisation qui s'y rapportent. Toutefois, si vous devez gérer des données de personnalisation de plusieurs autres utilisateurs, vous devez utiliser les différentes méthodes de la classe PersonalizationAdministration.
Remarque : |
---|
Seuls les administrateurs de la page doivent être autorisés à accéder aux méthodes de la classe PersonalizationAdministration. |
Pour supprimer un état utilisateur individuel du magasin de personnalisations
Dans une partie de l'application Web qui est disponible uniquement pour les administrateurs, par exemple une page ASP.NET ou un contrôle utilisateur, créez un jeu de contrôles pour recevoir l'entrée d'utilisateur et l'envoyer au serveur.
L'exemple dans cette procédure utilise un contrôle TextBox et un contrôle Button.
Dans le gestionnaire d'événements approprié, appelez la méthode PersonalizationAdministration.ResetUserState avec le chemin d'accès relatif à l'application Web en question et le nom d'utilisateur comme paramètres, comme illustré dans l'exemple suivant.
Protected Sub btnClear_Click(ByVal sender As Object, ByVal e As System.EventArgs) ' Verify that the text box txtUser is not empty. If (txtUser.Text.Length < 1) Then Response.Write("You must enter a user name.") End If Return ' Reset the user. If (Not PersonalizationAdministration.ResetUserState("~/Default.aspx", txtUser.Text)) Then Response.Write("The user could not be found or the user has not personalized this page.") End If End Sub
protected void btnClear_Click(object sender, EventArgs e) { // Verify that the text box is not empty. if (txtUser.Text.Length < 1) { Response.Write("You must enter a user name."); return; } // Reset the user. if (! PersonalizationAdministration.ResetUserState("~/Default.aspx", txtUser.Text)) { Response.Write("The user could not be found or the user has not personalized this page"); } }
Pour supprimer un groupe d'utilisateurs du magasin de personnalisations
Dans une partie de l'application Web qui est disponible uniquement pour les administrateurs, créez un jeu de contrôles pour recevoir l'entrée d'utilisateur et l'envoyer au serveur.
L'exemple dans cette procédure utilise un contrôle TextBox et un contrôle Button.
Dans le gestionnaire d'événements approprié, appelez la méthode PersonalizationAdministration.ResetUserState avec le chemin d'accès relatif à l'application Web en question et une liste des noms d'utilisateurs comme paramètres, comme illustré dans l'exemple suivant.
Protected Sub btnClearList_Click(ByVal sender As Object, ByVal e As System.EventArgs) ' Verify that the text box is not empty. If (txtUser.Text.Length < 1) Then Response.Write("You must enter at least one user name.") Return End If ' Extract the list of users. Dim users As Array users = txtUserList.Text.Split(" ,;".ToCharArray()) ' Reset the users. Dim RowsReset As Integer RowsReset = PersonalizationAdministration.ResetUserState("~/Default.aspx", users) Response.Write(RowsReset + "of " + users.Length + " users found and removed.") End Sub
protected void btnClearList_Click(object sender, EventArgs e) { // Verify that the text box is not empty. if (txtUser.Text.Length < 1) { Response.Write("You must enter at least one user name."); return; } // Reset the users. string[] users = txtUserList.Text.Split(" ,;".ToCharArray()); int RowsReset = PersonalizationAdministration.ResetUserState("~/Default.aspx", users); Response.Write(RowsReset + "of " + users.Length + " users found and removed."); }
Pour supprimer tous les utilisateurs inactifs du magasin de personnalisations
Dans une partie de l'application Web qui est disponible uniquement pour les administrateurs, créez un Calendar et un contrôle Button.
Dans le gestionnaire d'événements approprié, appelez la méthode PersonalizationAdministration.ResetInactiveUserState avec le chemin d'accès relatif à l'application Web en question et une liste des noms d'utilisateurs comme paramètres, comme illustré dans l'exemple suivant.
Protected Sub btnClearInactive_Click(ByVal sender As Object, ByVal e As System.EventArgs) ' Verify that a date is selected. If (calInactive.SelectedDate = DateTime.MinValue) Then Response.Write("You must select a date.") Return End If ' Reset all users inactive since the selected date. Dim RowsReset As Integer RowsReset = PersonalizationAdministration.ResetInactiveUserState("~/Default.aspx", calInactive.SelectedDate) Response.Write(RowsReset + " inactive users removed.") End Sub
protected void btnClearInactive_Click(object sender, EventArgs e) { // Verify that a date is selected. if (calInactive.SelectedDate == DateTime.MinValue) { Response.Write("You must select a date."); return; } // Reset all users inactive since the selected date. int RowsReset = PersonalizationAdministration.ResetInactiveUserState("~/Default.aspx", calInactive.SelectedDate); Response.Write(RowsReset + " inactive users removed."); }
Voir aussi
Tâches
Comment : permettre aux utilisateurs d'effacer l'état de personnalisation
Référence
System.Web.UI.WebControls.WebParts