Практическое руководство. Удаление пользовательских записей из хранилища индивидуальных настроек
Обновлен: Ноябрь 2007
При работе с веб-приложением ASP.NET, использующем индивидуальные настройки, иногда возникают ситуации, в которых может потребоваться удалить записи из хранилища индивидуальных настроек. В разделе Практическое руководство. Разрешение очистки состояния персонализации показан простой способ удаления записей. Данный способ заключается в создании на странице элемента управления и использовании метода ResetPersonalizationState, который позволяет пользователям удалить все индивидуальные настройки, относящиеся к ним. Однако, если требуется управлять индивидуальными настройками нескольких пользователей, необходимо использовать различные методы класса PersonalizationAdministration.
Примечание. |
---|
Разрешение на доступ к методам класса PersonalizationAdministration должны иметь только администраторы страницы. |
Удаление отдельных пользовательских состояний из хранилища индивидуальных настроек
В части веб-приложения, доступной только для администраторов, например, на странице ASP.NET или в пользовательском элементе управления, создайте набор элементов управления для получения данных, вводимых пользователем и отправки их на сервер.
В данном примере используются элементы управления TextBox и Button.
В соответствующем обработчике событий вызовите метод 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"); } }
Удаление записей группы пользователей из хранилища индивидуальных настроек
В части веб-приложения, доступной только для администраторов, создайте набор элементов управления для получения данных, вводимых пользователем и отправки их на сервер.
В данном примере используются элементы управления TextBox и Button.
В соответствующем обработчике событий вызовите метод 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."); }
Удаление записей всех неактивных пользователей из хранилища индивидуальных настроек
В части веб-приложения, доступной только для администраторов, создайте элементы управления Calendar и Button.
В соответствующем обработчике событий вызовите метод 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