ASP.NET Tutorial/Configuration/adminUsers

Материал из .Net Framework эксперт
Версия от 14:57, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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>