次の方法で共有


方法 : パーソナル化ストアからユーザー エントリを削除する

更新 : 2007 年 11 月

パーソナル化を使用する ASP.NET Web アプリケーションでは、パーソナル化ストアからエントリを削除することが必要な場合があります。「方法 : ユーザーがパーソナル化状態をクリアできるようにする」では最も単純な方法を説明しています。これは、各ユーザーが自分に関連するすべてのパーソナル化データを削除できるように、ページ上のコントロールで ResetPersonalizationState メソッドを公開する方法です。ただし、他の複数ユーザーのパーソナル化データを管理する必要がある場合、PersonalizationAdministration クラスの多様なメソッドを使用する必要があります。

ms366517.alert_note(ja-jp,VS.90).gifメモ :

ページの管理者のみに PersonalizationAdministration クラスのメソッドに対するアクセス権を付与します。

各ユーザーの状態をパーソナル化ストアから削除するには

  1. ASP.NET ページやユーザー コントロールなど、管理者のみが使用できる Web アプリケーションの部分では、ユーザー入力を受信してサーバーに送信するコントロール セットを作成します。

    このプロシージャの例では、TextBox コントロールと Button コントロールを使用します。

  2. 適切なイベント ハンドラで、対象の 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");
        }
    }
    

パーソナル化ストアからユーザー グループを削除するには

  1. 管理者のみが使用できる Web アプリケーションの部分では、ユーザー入力を受信してサーバーに送信するコントロール セットを作成します。

    このプロシージャの例では、TextBox コントロールと Button コントロールを使用します。

  2. 適切なイベント ハンドラで、対象の 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.");
    }
    

パーソナル化ストアからアクティブではないすべてのユーザーを削除するには

  1. 管理者のみが使用できる Web アプリケーションの部分に、Calendar コントロールと Button コントロールを作成します。

  2. 適切なイベント ハンドラで、対象の 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

PersonalizationAdministration

その他の技術情報

ASP.NET Web パーツ コントロール