ProfileAuthenticationOption 列挙体
アセンブリ: System.Web (system.web.dll 内)

Public Enumeration ProfileAuthenticationOption


ProfileAuthenticationOption 列挙体は、プロファイル プロバイダと ProfileManager クラスがデータ ソース内でプロファイルの検索と削除を行う場合に使用されます。ProfileAuthenticationOption 列挙体は、検索対象のプロファイル (匿名プロファイルのみ、認証済みプロファイルのみ、またはすべてのプロファイル) を選択する場合に使用されます。

ProfileAuthenticationOption パラメータを含む検索条件に基づいて、ユーザーがアクティブおよびアクティブでないプロファイル情報の表示と削除を実行できるようにするコード例を次に示します。
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Profile" %> <script runat="server"> Dim pageSize As Integer = 5 Dim totalProfiles As Integer Dim totalPages As Integer Dim currentPage As Integer = 1 Dim authOption As ProfileAuthenticationOption Dim inactiveDays As Integer = 90 Public Sub Page_Load() InactiveDaysLabel.Text = inactiveDays.ToString() authOption = GetAuthenticationOption() InactiveProfilesLabel.Text = ProfileManager.GetNumberOfInactiveProfiles(authOption , _ DateTime.Now.Subtract(New TimeSpan(inactiveDays, 0, 0, 0))).ToString() DeletedMessage.Text = "" End Sub Private Function GetProfiles() As ProfileInfoCollection Dim profiles As ProfileInfoCollection If ShowInactiveCheckBox.Checked Then profiles = ProfileManager.FindInactiveProfilesByUserName(authOption, _ UserNameTextBox.Text, _ DateTime.Now.Subtract(New TimeSpan(inactiveDays, 0, 0, 0)), _ currentPage - 1, pageSize, totalProfiles) Else profiles = ProfileManager.FindProfilesByUserName(authOption, _ UserNameTextBox.Text, _ currentPage - 1, pageSize, totalProfiles) End If Return profiles End Function Private Sub ShowProfiles() If UserNameTextBox.Text.Trim() = "" Then Msg.Text = "Please specify a user name." NavigationPanel.Visible = False ProfileGrid.Visible = False Return End If Msg.Text = "" ProfileGrid.Visible = True ProfileGrid.DataSource = GetProfiles() totalPages = ((totalProfiles - 1) \ pageSize) + 1 ' Ensure that we do not navigate past the last page of users. If currentPage > totalPages Then currentPage = totalPages ShowProfiles() Return End If ProfileGrid.DataBind() TotalProfilesLabel.Text = totalProfiles.ToString() CurrentPageLabel.Text = currentPage.ToString() TotalPagesLabel.Text = totalPages.ToString() If currentPage = totalPages Then NextButton.Visible = False Else NextButton.Visible = True End If If currentPage = 1 Then PreviousButton.Visible = False Else PreviousButton.Visible = True End If If totalProfiles <= 0 Then NavigationPanel.Visible = False Else NavigationPanel.Visible = True End If End Sub Public Sub NextButton_OnClick(sender As Object, args As EventArgs) currentPage = Convert.ToInt32(CurrentPageLabel.Text) currentPage += 1 ShowProfiles() End Sub Public Sub PreviousButton_OnClick(sender As Object, args As EventArgs) currentPage = Convert.ToInt32(CurrentPageLabel.Text) currentPage -= 1 ShowProfiles() End Sub Public Sub GoButton_OnClick(sender As Object, args As EventArgs) currentPage = 1 ShowProfiles() End Sub Public Sub ShowInactiveCheckBox_OnCheckedChanged(sender As Object, args As EventArgs) ShowProfiles() End Sub Public Sub DeleteButton_OnClick(sender As Object, args As EventArgs) ProfileManager.DeleteProfiles(GetProfiles()) DeletedMessage.Text = totalProfiles.ToString() & " profiles deleted." ShowProfiles() End Sub Public Sub AuthenticationOptionListBox_OnSelectedIndexChanged(sender As Object, args As EventArgs) authOption = GetAuthenticationOption() ShowProfiles() End Sub Private Function GetAuthenticationOption() As ProfileAuthenticationOption If Not AuthenticationOptionListBox.SelectedItem Is Nothing Then Select Case AuthenticationOptionListBox.SelectedItem.Value Case "Anonymous" Return ProfileAuthenticationOption.Anonymous Case "Authenticated" Return ProfileAuthenticationOption.Authenticated Case Else Return ProfileAuthenticationOption.All End Select End If Return ProfileAuthenticationOption.All End Function </script> <html> <head> <title>Sample Find Profiles</title> </head> <body> <form runat="server"> <h3>Profile List</h3> <asp:Label id="Msg" runat="Server" ForeColor="red" /><BR> <table border=0 cellpadding=3 cellspacing=3> <tr> <td valign="top">UserName to Search for</td> <td valign="top" colspan="2"> <asp:TextBox id="UserNameTextBox" runat="server" /> <asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><BR> </td> </tr> <tr> <td valign="top">Authentication Option</td> <td valign="top"><asp:ListBox id="AuthenticationOptionListBox" rows="3" runat="Server" AutoPostBack="True" OnSelectedIndexChanged="AuthenticationOptionListBox_OnSelectedIndexChanged"> <asp:ListItem value="All" selected="True">All</asp:ListItem> <asp:ListItem value="Authenticated">Authenticated</asp:ListItem> <asp:ListItem value="Anonymous">Anonymous</asp:ListItem> </asp:ListBox> </td> <td valign="top"><asp:CheckBox id="ShowInactiveCheckBox" Checked="False" AutoPostBack="True" runat="server" OnCheckedChanged="ShowInactiveCheckBox_OnCheckedChanged" /> Show profiles inactive for <asp:Label id="InactiveDaysLabel" runat="server" /> days only.<BR> There are <asp:Label id="InactiveProfilesLabel" runat="server" /> inactive profiles. </td> </tr> <tr> <td><asp:Button id="DeleteButton" runat="server" Text="Delete Profiles" OnClick="DeleteButton_OnClick" /> <BR><i>(based on search results)</i> </td> <td valign="top"><asp:Label id="DeletedMessage" runat="server" /></td> </tr> </table> <asp:Panel id="NavigationPanel" Visible="False" runat="server"> <asp:Label id="TotalProfilesLabel" runat="server" /> profile(s) found. <table border=0 cellpadding=3 cellspacing=3> <tr> <td width=100>Page <asp:Label id="CurrentPageLabel" runat="server" /> of <asp:Label id="TotalPagesLabel" runat="server" /></td> <td width=60><asp:LinkButton id="PreviousButton" Text="< Prev" OnClick="PreviousButton_OnClick" runat="server" /></td> <td width=60><asp:LinkButton id="NextButton" Text="Next >" OnClick="NextButton_OnClick" runat="server" /></td> </tr> </table> </asp:Panel> <asp:DataGrid id="ProfileGrid" runat="server" CellPadding="2" CellSpacing="1" Gridlines="Both"> <HeaderStyle BackColor="darkblue" ForeColor="white" /> </asp:DataGrid> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Profile" %> <script runat="server"> int pageSize = 5; int totalProfiles; int totalPages; int currentPage = 1; ProfileAuthenticationOption authOption; int inactiveDays = 90; public void Page_Load() { InactiveDaysLabel.Text = inactiveDays.ToString(); authOption = GetAuthenticationOption(); InactiveProfilesLabel.Text = ProfileManager.GetNumberOfInactiveProfiles(authOption , DateTime.Now.Subtract(new TimeSpan(inactiveDays, 0, 0, 0))).ToString(); DeletedMessage.Text = ""; } private ProfileInfoCollection GetProfiles() { ProfileInfoCollection profiles; if (ShowInactiveCheckBox.Checked) { profiles = ProfileManager.FindInactiveProfilesByUserName(authOption, UserNameTextBox.Text, DateTime.Now.Subtract(new TimeSpan(inactiveDays, 0, 0, 0)), currentPage - 1, pageSize, out totalProfiles); } else { profiles = ProfileManager.FindProfilesByUserName(authOption, UserNameTextBox.Text, currentPage - 1, pageSize, out totalProfiles); } return profiles; } private void ShowProfiles() { if (UserNameTextBox.Text.Trim() == "") { Msg.Text = "Please specify a user name."; NavigationPanel.Visible = false; ProfileGrid.Visible = false; return; } Msg.Text = ""; ProfileGrid.Visible = true; ProfileGrid.DataSource = GetProfiles(); totalPages = ((totalProfiles - 1) / pageSize) + 1; // Ensure that we do not navigate past the last page of users. if (currentPage > totalPages) { currentPage = totalPages; ShowProfiles(); return; } ProfileGrid.DataBind(); TotalProfilesLabel.Text = totalProfiles.ToString(); CurrentPageLabel.Text = currentPage.ToString(); TotalPagesLabel.Text = totalPages.ToString(); if (currentPage == totalPages) NextButton.Visible = false; else NextButton.Visible = true; if (currentPage == 1) PreviousButton.Visible = false; else PreviousButton.Visible = true; if (totalProfiles <= 0) NavigationPanel.Visible = false; else NavigationPanel.Visible = true; } public void NextButton_OnClick(object sender, EventArgs args) { currentPage = Convert.ToInt32(CurrentPageLabel.Text); currentPage++; ShowProfiles(); } public void PreviousButton_OnClick(object sender, EventArgs args) { currentPage = Convert.ToInt32(CurrentPageLabel.Text); currentPage--; ShowProfiles(); } public void GoButton_OnClick(object sender, EventArgs args) { currentPage = 1; ShowProfiles(); } public void ShowInactiveCheckBox_OnCheckedChanged(object sender, EventArgs args) { ShowProfiles(); } public void DeleteButton_OnClick(object sender, EventArgs args) { ProfileManager.DeleteProfiles(GetProfiles()); DeletedMessage.Text = totalProfiles.ToString() + " profiles deleted."; ShowProfiles(); } public void AuthenticationOptionListBox_OnSelectedIndexChanged(object sender, EventArgs args) { authOption = GetAuthenticationOption(); ShowProfiles(); } private ProfileAuthenticationOption GetAuthenticationOption() { if (AuthenticationOptionListBox.SelectedItem != null) { switch (AuthenticationOptionListBox.SelectedItem.Value) { case "Anonymous": return ProfileAuthenticationOption.Anonymous; break; case "Authenticated": return ProfileAuthenticationOption.Authenticated; break; default: return ProfileAuthenticationOption.All; break; } } return ProfileAuthenticationOption.All; } </script> <html> <head> <title>Sample: Find Profiles</title> </head> <body> <form runat="server"> <h3>Profile List</h3> <asp:Label id="Msg" runat="Server" ForeColor="red" /><BR> <table border=0 cellpadding=3 cellspacing=3> <tr> <td valign="top">UserName to Search for:</td> <td valign="top" colspan="2"> <asp:TextBox id="UserNameTextBox" runat="server" /> <asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><BR> </td> </tr> <tr> <td valign="top">Authentication Option</td> <td valign="top"><asp:ListBox id="AuthenticationOptionListBox" rows="3" runat="Server" AutoPostBack="true" OnSelectedIndexChanged="AuthenticationOptionListBox_OnSelectedIndexChanged"> <asp:ListItem value="All" selected="True">All</asp:ListItem> <asp:ListItem value="Authenticated">Authenticated</asp:ListItem> <asp:ListItem value="Anonymous">Anonymous</asp:ListItem> </asp:ListBox> </td> <td valign="top"><asp:CheckBox id="ShowInactiveCheckBox" Checked="false" AutoPostBack="true" runat="server" OnCheckedChanged="ShowInactiveCheckBox_OnCheckedChanged" /> Show profiles inactive for <asp:Label id="InactiveDaysLabel" runat="server" /> days only.<BR> There are <asp:Label id="InactiveProfilesLabel" runat="server" /> inactive profiles. </td> </tr> <tr> <td><asp:Button id="DeleteButton" runat="server" Text="Delete Profiles" OnClick="DeleteButton_OnClick" /> <BR><i>(based on search results)</i> </td> <td valign="top"><asp:Label id="DeletedMessage" runat="server" /></td> </tr> </table> <asp:Panel id="NavigationPanel" Visible="false" runat="server"> <asp:Label id="TotalProfilesLabel" runat="server" /> profile(s) found. <table border=0 cellpadding=3 cellspacing=3> <tr> <td width=100>Page <asp:Label id="CurrentPageLabel" runat="server" /> of <asp:Label id="TotalPagesLabel" runat="server" /></td> <td width=60><asp:LinkButton id="PreviousButton" Text="< Prev" OnClick="PreviousButton_OnClick" runat="server" /></td> <td width=60><asp:LinkButton id="NextButton" Text="Next >" OnClick="NextButton_OnClick" runat="server" /></td> </tr> </table> </asp:Panel> <asp:DataGrid id="ProfileGrid" runat="server" CellPadding="2" CellSpacing="1" Gridlines="Both"> <HeaderStyle BackColor="darkblue" ForeColor="white" /> </asp:DataGrid> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からProfileAuthenticationOption 列挙体を検索する場合は、下記のリンクをクリックしてください。

- ProfileAuthenticationOption 列挙体のページへのリンク