Поделиться через


Практическое руководство. Удаление пользовательских записей из хранилища индивидуальных настроек

Обновлен: Ноябрь 2007

При работе с веб-приложением ASP.NET, использующем индивидуальные настройки, иногда возникают ситуации, в которых может потребоваться удалить записи из хранилища индивидуальных настроек. В разделе Практическое руководство. Разрешение очистки состояния персонализации показан простой способ удаления записей. Данный способ заключается в создании на странице элемента управления и использовании метода ResetPersonalizationState, который позволяет пользователям удалить все индивидуальные настройки, относящиеся к ним. Однако, если требуется управлять индивидуальными настройками нескольких пользователей, необходимо использовать различные методы класса PersonalizationAdministration.

ms366517.alert_note(ru-ru,VS.90).gifПримечание.

Разрешение на доступ к методам класса PersonalizationAdministration должны иметь только администраторы страницы.

Удаление отдельных пользовательских состояний из хранилища индивидуальных настроек

  1. В части веб-приложения, доступной только для администраторов, например, на странице ASP.NET или в пользовательском элементе управления, создайте набор элементов управления для получения данных, вводимых пользователем и отправки их на сервер.

    В данном примере используются элементы управления TextBox и Button.

  2. В соответствующем обработчике событий вызовите метод PersonalizationAdministration.ResetUserState, передав относительный путь к веб-приложению и имя пользователя в качестве параметров, как показано в следующем примере.

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

Удаление записей группы пользователей из хранилища индивидуальных настроек

  1. В части веб-приложения, доступной только для администраторов, создайте набор элементов управления для получения данных, вводимых пользователем и отправки их на сервер.

    В данном примере используются элементы управления TextBox и Button.

  2. В соответствующем обработчике событий вызовите метод PersonalizationAdministration.ResetUserState, передав относительный путь к веб-приложению и список имен пользователей в качестве параметров, как показано в следующем примере.

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

Удаление записей всех неактивных пользователей из хранилища индивидуальных настроек

  1. В части веб-приложения, доступной только для администраторов, создайте элементы управления Calendar и Button.

  2. В соответствующем обработчике событий вызовите метод PersonalizationAdministration.ResetInactiveUserState, передав относительный путь к веб-приложению и список имен пользователей в качестве параметров, как показано в следующем примере.

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

См. также

Задачи

Практическое руководство. Разрешение очистки состояния персонализации

Ссылки

System.Web.UI.WebControls.WebParts

PersonalizationAdministration

Другие ресурсы

Элементы управления веб-частей ASP.NET