您的位置:首页 > 运维架构

DropDownList从XML配置文件动态获取下拉列表值

2010-12-28 16:45 323 查看
<?xml version="1.0" encoding="utf-8" ?>
<PartsConfig>
<!--下拉选项为"P"、"Y"、"L",分别显示为"零件"、"用品"、"油脂"-->
<PartsType>
<add key="P" value="零件"/>
<add key="Y" value="用品"/>
<add key="L" value="油脂"/>
</PartsType>
</PartsConfig>


public class AdditionalConfigHelper
{
private readonly string configFilePath = string.Empty;
public AdditionalConfigHelper()
{
configFilePath = ConfigurationManager.AppSettings["AdditionalConfigPath"].ToString() + "PartsConfig.xml";
}
public AdditionalConfigHelper(string configFilePath)
{
this.configFilePath = configFilePath;
}
/// <summary>
/// 读取附加配置文件的信息
/// </summary>
/// <param name="nodeName">节点名称</param>
/// <returns>配置文件信息集合</returns>
public IDictionary<string,string> ReadAdditionalConfig(string nodeName)
{
//XmlDocument对象
XmlDocument xmlDom = new XmlDocument();
//配置信息集合
IDictionary<string, string> configInfos = new Dictionary<string, string>();
//键
string key = string.Empty;
//键所对应的值
string value = string.Empty;
//读取配置文件(xml文件)到XmlDocument对象
xmlDom.Load(this.configFilePath);
//生成XmlDocument对象的xpath指针
XPathNavigator nav = xmlDom.CreateNavigator();
//移动到指定配置节
XPathNavigator NodeNavigator = nav.SelectSingleNode("//" + nodeName);
//读取配置信息
if (NodeNavigator.MoveToFirstChild())
{
key = NodeNavigator.GetAttribute("key", "");
value = NodeNavigator.GetAttribute("value", "");
configInfos.Add(key, value);
while (NodeNavigator.MoveToNext())
{
key = NodeNavigator.GetAttribute("key", "");
value = NodeNavigator.GetAttribute("value", "");
configInfos.Add(key, value);
}
//返回父节点
NodeNavigator.MoveToParent();
}
return configInfos;
}
}
AdditionalConfigHelper config = new AdditionalConfigHelper();
//下拉选项为"P"、"Y"、"L",分别显示为"零件"、"用品"、"油脂"。
ddlPartsType.DataSource = config.ReadAdditionalConfig("PartsType");
ddlPartsType.DataTextField = "value";
ddlPartsType.DataValueField = "key";
ddlPartsType.DataBind();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: