如何:从个性化设置存储区中移除用户条目
更新:2007 年 11 月
在使用个性化设置的 ASP.NET Web 应用程序中,某些情况下可能需要从个性化设置存储区中移除条目。如何:使用户能够清除个性化设置状态说明了最简单的方法,即通过页面上的控件公开 ResetPersonalizationState 方法,这样各位用户就可以移除与其有关的所有个性化设置数据。但是,如果需要管理其他多位用户的个性化设置数据,则必须使用 PersonalizationAdministration 类的各种方法。
说明: |
---|
对 PersonalizationAdministration 类的方法的访问权限只应授予页面管理员。 |
从个性化设置存储区中移除单个用户状态
在仅供管理员使用的 Web 应用程序部分(例如 ASP.NET 页或用户控件)中,创建一组控件,以接收用户输入并将其发送到服务器。
在适当的事件处理程序中,使用到所述 Web 应用程序的相对路径和用户名来调用 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"); } }
从个性化设置存储区中移除用户组
在仅供管理员使用的 Web 应用程序部分中,创建一组控件,以接收用户输入并将其发送到服务器。
在适当的事件处理程序中,使用到所述 Web 应用程序的相对路径和用户名列表来调用 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."); }
从个性化设置存储区中移除所有非活动用户
在适当的事件处理程序中,使用到所述 Web 应用程序的相对路径和用户名列表来调用 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