ASP.NET Tutorial/Configuration/adminUsers
The AdminUsersSection class enables you to represent a list of users
<source lang="csharp">
File: App_Code\AdminUsersSection.cs using System; using System.Configuration; namespace MyNamespace {
public class AdminUsersSection : ConfigurationSection { [ConfigurationProperty("", IsDefaultCollection = true)] public AdminUsersCollection Users { get { return (AdminUsersCollection)this[""]; } } } public class AdminUsersCollection : ConfigurationElementCollection { protected override ConfigurationElement CreateNewElement() { return new AdminUser(); } protected override object GetElementKey(ConfigurationElement element) { return ((AdminUser)element).Name; } public AdminUsersCollection() { this.AddElementName = "user"; } } public class AdminUser : ConfigurationElement { [ConfigurationProperty("name", IsRequired = true, IsKey = true)] public string Name { get { return (string)this["name"]; } set { this["name"] = value; } } [ConfigurationProperty("password", IsRequired = true)] public string Password { get { return (string)this["password"]; } set { this["password"] = value; } } }
}
File: Web.config <configuration> <configSections>
<sectionGroup name="system.web"> <section name="adminUsers" type="MyNamespace.AdminUsersSection" allowLocation="true" allowDefinition="Everywhere" /> </sectionGroup>
</configSections> <system.web>
<adminUsers> <user name="Bob" password="secret" /> <user name="Fred" password="secret" /> </adminUsers>
</system.web> </configuration>
Displaying the contents of the adminUsers section in a BulletedList control. <%@ Page Language="C#" %> <%@ Import Namespace="MyNamespace" %> <%@ Import Namespace="System.Web.Configuration" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
void Page_Load() { AdminUsersSection section = (AdminUsersSection)WebConfigurationManager.GetWebApplicationSection("system.web/adminUsers"); bltAdminUsers.DataSource = section.Users; bltAdminUsers.DataBind(); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Show AdminUsersSection</title>
</head> <body>
<form id="form1" runat="server">
Administrators
<asp:BulletedList id="bltAdminUsers" DataTextField="Name" Runat="server" />
</form>
</body> </html></source>