2015-04-28 44 views
0

我需要在web.config文件中創建一個配置節。配置部分看起來像這樣。如何創建自定義網頁配置?

<component name="name1" title="title1" description="description1"/> 
<component name="name2" title="title2" description="description2"/> 
<component name="name3" title="title3" description="description3"/> 

如何創建這樣的配置設置,以及如何在c#代碼中訪問配置中的屬性。

回答

1

1)創建一個類,並自ConfigurationSection

public class ComponentCustomSection : ConfigurationSection 

2繼承)添加屬性和標誌他們用的ConfigurationProperty屬性

 [ConfigurationProperty("name")] 
     public string Name 
     { 
      get { return ((string)this["name"]); } 
     } 

     [ConfigurationProperty("title")] 
     public string Title 
     { 
      get { return ((string)this["title"]); } 
     } 

     [ConfigurationProperty("description")] 
     public string Description 
     { 
      get { return ((string)this["description"]); } 
     } 

3)添加您的自定義配置部分的信息在你的配置文件(配置標籤下)

<configSections> 
    <section name="component" type="YourAssembly.ComponentCustomSection, YourAssembly"/> 
    </configSections> 

4)您可以et部分使用以下代碼

var section = ConfigurationManager.GetSection("component") 

請注意,這可以使用單個組件標記。
如果你需要有N個標籤,你應該把它們封裝在一個父標籤,這樣

<components> 
    <component name="name1" title="title1" description="description1"/> 
    <component name="name2" title="title2" description="description2"/> 
    <component name="name3" title="title3" description="description3"/> 
</components> 

Here是一個很好的文章,讓你開始自定義配置節

Here是關於問題有一個customSection與子元素,應該可以幫助你

+0

我試過這個。但我怎麼能從代碼中的配置獲取值。因爲有多個屬性和多個組件 – geo

+0

請參閱我的編輯,如果您需要多個標籤,則必須封裝它們 –

相關問題