Condividi tramite


Procedura: rimuovere le voci aggiunte dall'utente dall'archivio di personalizzazioni

Aggiornamento: novembre 2007

In un'applicazione Web ASP.NET che utilizza la personalizzazione ci sono casi in cui potrebbe essere necessario rimuovere voci dall'archivio di personalizzazione. In Procedura: consentire agli utenti di cancellare lo stato di personalizzazione viene illustrato il modo più semplice, che consiste nell'esporre il metodo ResetPersonalizationState tramite un controllo nella pagina in modo che i singoli utenti possano rimuovere tutti i dati di personalizzazione a loro corrispondenti. Tuttavia, se è necessario gestire i dati di personalizzazione di più utenti, è necessario utilizzare i vari metodi della classe PersonalizationAdministration.

Nota:

Solo agli amministratori della pagina deve essere concesso l'accesso ai metodi della classe PersonalizationAdministration.

Per rimuovere lo stato di un singolo utente dall'archivio di personalizzazione

  1. In una parte dell'applicazione Web disponibile solo agli amministratori, ad esempio una pagina ASP.NET o un controllo utente, creare un insieme di controlli per ricevere l'input dell'utente e inviarlo al server.

    Nell'esempio in questa procedura vengono utilizzati i controlli TextBox e Button.

  2. Nel gestore eventi appropriato chiamare il metodo PersonalizationAdministration.ResetUserState con il percorso relativo all'applicazione Web in questione e il nome utente come parametri, come illustrato nell'esempio seguente.

    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");
        }
    }
    

Per rimuovere un gruppo di utenti dall'archivio di personalizzazione

  1. In una parte dell'applicazione Web disponibile solo agli amministratori creare un insieme di controlli per ricevere l'input dell'utente e inviarlo al server.

    Nell'esempio in questa procedura vengono utilizzati i controlli TextBox e Button.

  2. Nel gestore eventi appropriato chiamare il metodo PersonalizationAdministration.ResetUserState con il percorso relativo all'applicazione Web in questione e un elenco di nomi utente come parametri, come illustrato nell'esempio seguente.

    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.");
    }
    

Per rimuovere tutti gli utenti inattivi dall'archivio di personalizzazione

  1. In una parte dell'applicazione Web disponibile solo agli amministratori creare un controllo Calendar e un controllo Button.

  2. Nel gestore eventi appropriato chiamare il metodo PersonalizationAdministration.ResetInactiveUserState con il percorso relativo all'applicazione Web in questione e un elenco di nomi utente come parametri, come illustrato nell'esempio seguente.

    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.");
    }
    

Vedere anche

Attività

Procedura: consentire agli utenti di cancellare lo stato di personalizzazione

Riferimenti

System.Web.UI.WebControls.WebParts

PersonalizationAdministration

Altre risorse

Controlli Web part ASP.NET