如何循环web.config部分并在aspx页面中呈现为HTML?

时间:2015-08-26 15:03:23

标签: asp.net web-config runatserver

在web.config中说,我有

<configSections>
    <section name="myOptions" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>

<myOptions>
    <add key="myKey1" value="myValue1">
    <add key="myKey2" value="myValue2">
    ...
</myOptions>

我想循环浏览myOptions并使用keyvalue字段呈现为HTML。

<select>
    <option value="myKey1">myValue1</option>
    <option value="myKey2">myValue2</option>
    ...
</select>

从谷歌搜索,我试过

<% var optionValuePairs = (NameValueCollection)System.Configuration.ConfigurationManager.GetSection("fundGroupOptions"); %>
<% foreach(string key in optionValuePairs) { %>
   <option value="<% key.ToString(); %>"><% optionValuePairs[key].ToString(); %></option>
<% }; %>

我可以很好地访问该集合。但我的option value=""为空,option文字也是空白。

1 个答案:

答案 0 :(得分:0)

想出来......我希望这可以帮助别人节省时间谷歌搜索。 Web.Config需要按照上面的格式进行格式化。

然后您只需要将该部分作为简单的NameValueCollection来访问。然后,您可以使用foreach呈现HTML。

<% var optionValuePairs = (NameValueCollection)System.Configuration.ConfigurationManager.GetSection("myOptions"); %>
<% foreach(string key in optionValuePairs) { %>
    <option value="<% =key %>"><% =optionValuePairs[key] %></option>
<% }; %>