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
name="adminUsers"
type="MyNamespace.AdminUsersSection"
allowLocation="true"
allowDefinition="Everywhere" />
Displaying the contents of the adminUsers section in a BulletedList control.
<%@ Page Language="C#" %>
<%@ Import Namespace="MyNamespace" %>
<%@ Import Namespace="System.Web.Configuration" %>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Show AdminUsersSection