FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 1512|回复: 0
打印 上一主题 下一主题

求助实现点击顶部菜单,左侧动态添加手风琴+树菜单

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-18 12:05:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大神们,小弟跪求实现点击顶部菜单,在窗体左边动态读取xml文件添加手风琴+树菜单,手风琴面板的内容是读取xml文件动态添加, 我在每个按钮的点击事件里写动态添加代码。为什么页面显示不出来,怎么将动态添加的内容显示出来呢       JObject ids;
        protected void Page_Init(object sender, EventArgs e)
        {     
            // 注册客户端脚本,服务器端控件ID和客户端ID的映射关系
            ids = GetClientIDS(btnExpandAll, btnCollapseAll, mainTabStrip, leftRegion, menuSettings);
            // 只在页面第一次加载时注册客户端用到的脚本
            if (!Page.IsPostBack)
            {
                string idsScriptStr = String.Format("window.IDS={0};", ids.ToString(Newtonsoft.Json.Formatting.None));
                PageContext.RegisterStartupScript(idsScriptStr);
           }
        }
private void BindLeftTree(string menuType)
        {        
            if (menuType == "JC")
            {      
                XmlDataSource1.DataFile = "./common/XML/jichu.xml";      
            }
            else if (menuType == "JH")
            {
                XmlDataSource1.DataFile = "./common/XML/jinhuo.xml";
            }
          BindLeftTree();
}
private void BindLeftTree()
        {
            Accordion accordionMenu = new Accordion();
            accordionMenu.ID = "accordionMenu";
            accordionMenu.EnableFill = true;
            accordionMenu.ShowBorder = false;
            accordionMenu.ShowHeader = false;
            leftRegion.Items.Add(accordionMenu);
            XmlDocument xmlDoc = XmlDataSource1.GetXmlDocument();
            XmlNodeList xmlNodes = xmlDoc.SelectNodes("/Tree/TreeNode");
            foreach (XmlNode xmlNode in xmlNodes)
            {
                if (xmlNode.HasChildNodes)
                {
                   AccordionPane accordionPane = new AccordionPane();
                    accordionPane.Title = xmlNode.Attributes["Text"].Value;
                    Tree innerTree = new Tree();
                    innerTree.EnableArrows = true;
                    innerTree.ShowBorder = false;
                    innerTree.ShowHeader = false;
                    innerTree.EnableIcons = false;
                    innerTree.AutoScroll = true;
                    innerTree.EnableSingleClickExpand = true;
                    accordionPane.Items.Add(innerTree);
                    XmlDocument innerXmlDoc = new XmlDocument();
                    innerXmlDoc.LoadXml(String.Format("<?xml version=\"1.0\" encoding=\"utf-8\" ?><Tree>{0}</Tree>", xmlNode.InnerXml));
                    // 绑定AccordionPane内部的树控件
                    innerTree.DataSource = innerXmlDoc;
                    innerTree.DataBind();
                    // 重新设置每个节点的图标
                    ResolveTreeNode(innerTree.Nodes);
                }
            }
            ids.Add("mainMenu", accordionMenu.ClientID);
            ids.Add("menuType", "accordion");


}
js文件:
F.ready(function () {

    // IDS:default.aspx.cs 中向页面输出的控件客户端ID集合
    var btnExpandAll = F(IDS.btnExpandAll);
    var btnCollapseAll = F(IDS.btnCollapseAll);
    var mainMenu = F(IDS.mainMenu);
    var mainTabStrip = F(IDS.mainTabStrip);
    var windowSourceCode = F(IDS.windowSourceCode);
    var leftRegion = F(IDS.leftRegion);
    var menuSettings = F(IDS.menuSettings);

。。。。。
});

这里怎么将这个 添加的ID--mainMenu返回给js呢。拜托大神们给点建议吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-26 17:29 , Processed in 0.043270 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表