/// <summary> /// 获取用户控件 /// </summary> /// <param name="key">关键字</param> /// <returns>返回用户控件</returns> public Control GetControl(string key) { Page page = new Page(); Control control = new Control(); if (PluginItems.ContainsKey(key)) { PluginItem pluginItem = PluginItems[key]; control = page.LoadControl(pluginItem.ManagePath); control.ID = pluginItem.Key; } return(control); }
/// <summary> /// 初始化插件 /// </summary> /// <param name="configPath">配置文件路径</param> public void Init(string configPath) { if (File.Exists(configPath)) { XmlDocument doc = LoadXmlDocument(configPath); if (doc != null) { Name = doc.DocumentElement.SelectSingleNode(PLUGINS_NAME).InnerText.Trim(); Version = doc.DocumentElement.SelectSingleNode(PLUGINS_VERSION).InnerText.Trim(); XmlNodeList nodeList = doc.DocumentElement.SelectNodes(PLUGINS_PLUGINITEMS); foreach (XmlNode node in nodeList) { PluginItem pluginItem = new PluginItem(); foreach (XmlNode childNode in node.ChildNodes) { switch (childNode.Name) { case PLUGINS_PLUGINITEMS_KEY: pluginItem.Key = childNode.InnerText.Trim(); break; case PLUGINS_PLUGINITEMS_NAME: pluginItem.Name = childNode.InnerText.Trim(); break; case PLUGINS_PLUGINITEMS_MANAGEPATH: pluginItem.ManagePath = childNode.InnerText.Trim(); break; } } if (!PluginItems.ContainsKey(pluginItem.Key)) { PluginItems.Add(pluginItem.Key, pluginItem); } } } } }
/// <summary> /// ��ʼ����� /// </summary> /// <param name="configPath">�����ļ�·��</param> public void Init(string configPath) { if (File.Exists(configPath)) { XmlDocument doc = LoadXmlDocument(configPath); if (doc != null) { Name = doc.DocumentElement.SelectSingleNode(PLUGINS_NAME).InnerText.Trim(); Version = doc.DocumentElement.SelectSingleNode(PLUGINS_VERSION).InnerText.Trim(); XmlNodeList nodeList = doc.DocumentElement.SelectNodes(PLUGINS_PLUGINITEMS); foreach (XmlNode node in nodeList) { PluginItem pluginItem = new PluginItem(); foreach (XmlNode childNode in node.ChildNodes) { switch(childNode.Name) { case PLUGINS_PLUGINITEMS_KEY: pluginItem.Key = childNode.InnerText.Trim(); break; case PLUGINS_PLUGINITEMS_NAME: pluginItem.Name = childNode.InnerText.Trim(); break; case PLUGINS_PLUGINITEMS_MANAGEPATH: pluginItem.ManagePath = childNode.InnerText.Trim(); break; } } if (!PluginItems.ContainsKey(pluginItem.Key)) { PluginItems.Add(pluginItem.Key, pluginItem); } } } } }