Επεξεργασία

Κοινή χρήση μέσω


RoleGroup Class

Definition

Associates a content template in a LoginView control with one or more roles defined for the Web site. This class cannot be inherited.

public ref class RoleGroup sealed
public sealed class RoleGroup
type RoleGroup = class
Public NotInheritable Class RoleGroup
Inheritance
RoleGroup

Examples

The following code example assigns a custom template to the ContentTemplate property.

<%@ Page Language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    private class CustomTemplate : ITemplate
    {
        public void InstantiateIn(System.Web.UI.Control container)
        {
            LoginName ln = new LoginName();
            LoginStatus ls = new LoginStatus();
            Literal lc = new Literal();
        
            lc.Text = "<br />";
            ln.FormatString = "Welcome, {0}. This line is from the template.";
        
            container.Controls.Add(ln);
            container.Controls.Add(lc);
            container.Controls.Add(ls);
        }
    }
        
    void Page_Load(Object sender, EventArgs e)
    {
        // <Snippet2>
        RoleGroup rg = new RoleGroup();
        rg.ContentTemplate = new CustomTemplate();
        // <Snippet3>
        String[] RoleList = {"users"};
        rg.Roles = RoleList;
        // </Snippet3>
        RoleGroupCollection rgc = LoginView1.RoleGroups;
        rgc.Add(rg);
        // </Snippet2>
    }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">
            <asp:LoginView id="LoginView1" runat="server">
                <AnonymousTemplate>
                    You are not logged in.<br />
                    <asp:LoginStatus id="LoginStatus1" runat="server"></asp:LoginStatus>
                </AnonymousTemplate>
                <LoggedInTemplate>
                    You are logged in as
                    <asp:LoginName id="LoginName1" runat="server" />. This message is not from the template.<br />
                    <asp:LoginStatus id="Loginstatus2" runat="server"></asp:LoginStatus>
                </LoggedInTemplate>
            </asp:LoginView>
        </form>
    </body>
</html>
<%@ Page Language="VB"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Private Class CustomTemplate
        Implements ITemplate

        Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) _
            Implements System.Web.UI.ITemplate.InstantiateIn
            Dim ln As New LoginName
            Dim ls As New LoginStatus
            Dim lc As New Literal

            lc.Text = "<br />"
            ln.FormatString = "Welcome, {0}. This line is from the template."

            container.Controls.Add(ln)
            container.Controls.Add(lc)
            container.Controls.Add(ls)

        End Sub
    End Class

    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

        ' <Snippet2>
        Dim rg As New RoleGroup
        rg.ContentTemplate = New CustomTemplate
        ' <Snippet3>        
        Dim RoleList(1) As String
        RoleList(0) = "users"
        ' </Snippet3>

        rg.Roles = RoleList

        Dim rgc As RoleGroupCollection = LoginView1.RoleGroups
        rgc.Add(rg)
        ' </Snippet2>
    End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">
            <asp:LoginView id="LoginView1" runat="server">
                <AnonymousTemplate>
                    You are not logged in.<br />
                    <asp:LoginStatus id="LoginStatus1" runat="server"></asp:LoginStatus>
                </AnonymousTemplate>
                <LoggedInTemplate>
                    You are logged in as
                    <asp:LoginName id="LoginName1" runat="server" />. This message is not from the template.<br />
                    <asp:LoginStatus id="Loginstatus2" runat="server"></asp:LoginStatus>
                </LoggedInTemplate>
            </asp:LoginView>
        </form>
    </body>
</html>

Remarks

You can use the LoginView control to define a set of content templates that contain the content that is displayed to Web site users based on the role assigned by Web site administrators. The RoleGroup class is used by the LoginView control to associate a content template with a set of roles.

To dynamically assign a template to the role group, set the ContentTemplate property to a reference to an object that implements the ITemplate interface.

You must configure role management to use the RoleGroup class. For more information, see Understanding Role Management.

Constructors

RoleGroup()

Initializes a new instance of the RoleGroup class.

Properties

ContentTemplate

Gets or sets the content template associated with this role group.

Roles

Gets or sets the roles associated with this role group.

Methods

ContainsUser(IPrincipal)

Indicates whether the specified user is a member of any of the roles in the role group.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a comma-separated list of the roles associated with this role group.

Applies to

See also