Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        /// <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);
                        }
                    }
                }
            }
        }