Partager via


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

  1. 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.

  2. 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

  1. 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.

  2. 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

  1. Dans une partie de l'application Web qui est disponible uniquement pour les administrateurs, créez un Calendar et un contrôle Button.

  2. 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

PersonalizationAdministration

Autres ressources

Contrôles WebPart ASP.NET