参考网上写的,类型 如下 public class SiteLogo : ConfigurationElement { [ConfigurationProperty("logoTitle", IsRequired = true)] public string LogoTitle { get { return this["logoTitle"] as string; } set { this["logoTitle"] = value; } } [ConfigurationProperty("logoUrl")] public string LogoUrl { get { return this["logoUrl"] as string; } set { this["logoUrl"] = value; } } } public class SiteMap : ConfigurationElement { [ConfigurationProperty("mapTitle", IsRequired = true)] public string MapTitle { get { return this["mapTitle"] as string; } set { this["mapTitle"] = value; } } [ConfigurationProperty("mapUrl")] public string MapUrl { get { return this["mapUrl"] as string; } set { this["mapUrl"] = value; } } } public class SiteMaps : ConfigurationElementCollection { protected override ConfigurationElement CreateNewElement() { return new SiteMap(); } protected override object GetElementKey(ConfigurationElement element) { SiteMap maps = element as SiteMap; return maps.MapTitle; } public override ConfigurationElementCollectionType CollectionType { get { return ConfigurationElementCollectionType.BasicMap; } } protected override string ElementName { get { return "siteMap"; } } } public class SiteSetting : ConfigurationSection { [ConfigurationProperty("siteTitle")] public string SiteTitle { get { return this["siteTitle"] as string; } set { this["siteTitle"] = value; } } [ConfigurationProperty("siteUrl")] public string SiteUrl { get { return this["siteUrl"] as string; } set { this["siteUrl"] = value; } } [ConfigurationProperty("siteDescription")] public string SiteDescription { get { return this["siteDescription"] as string; } set { this["siteDescription"] = value; } } [ConfigurationProperty("siteLogo")] public SiteLogo SiteLogo { get { return this["siteLogo"] as SiteLogo; } set { this["siteLogo"] = value; } } [ConfigurationProperty("siteMaps")] public SiteMaps SiteMaps { get { return this["siteMaps"] as SiteMaps; } } } 配置文件如下: <configSections> <section name="siteSetting" type="MvcApplication1.Models.SiteSetting,MvcApplication1" requirePermission="false"/> </configSections> <siteSetting siteTitle="Csdn" siteUrl="http://csdn.com" siteDescription="csdn是最大的中文技术网站"> <siteLogo logoTitle="csdn" logoUrl="http://csdn/logo.jpg"/> <siteMaps> <siteMap mapTitle="新闻" mapUrl="http://csdn/news.aspx"/> <siteMap mapTitle="论坛" mapUrl="http://csdn/bbs.aspx"/> </siteMaps> </siteSetting> 调用如下 <%SiteSetting siteSetting = ConfigurationManager.GetSection("siteSetting") as SiteSetting;%> <div> <%="站点名:"+siteSetting.SiteTitle + ",站点url:" + siteSetting.SiteUrl + ",站点描述:" + siteSetting.SiteDescription%></div> <div> <%="站点Logo描述:logo标题 ["+siteSetting.SiteLogo.LogoTitle + "],logopic [" + siteSetting.SiteLogo.LogoUrl+"]"%></div> <br /> 站点地图: <% foreach (MvcApplication1.Models.SiteMap m in siteSetting.SiteMaps) { %> <div> <%=m.MapTitle + "," + m.MapUrl%></div> <%} %> 更改配置如下: //Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); Configuration config = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap() { ExeConfigFilename = HttpContext.Server.MapPath("~/Web.config") }, ConfigurationUserLevel.None); SiteSetting siteSetting = config.GetSection("siteSetting") as SiteSetting; siteSetting.SiteLogo.LogoTitle = "lin"; config.Save();