文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Ajax Accordion控件中如何控制回传回来时仍然显示刚才选中的项

Ajax Accordion控件中如何控制回传回来时仍然显示刚才选中的项

时间:2010-09-01  来源:宽田

Ajax Accordion控件中如何控制回传回来时仍然显示刚才选中的项

 

  在使用Accordion控件时,回传回来时总是显示第一项。当不同用户显示不同的项时,如何控制回传回来后仍然选中刚才点击的项目。

下边是解决方法。

    1)我们将每个aspx页面的所在项目的文件夹名与对应的AccordionPane的ID保存起来。此步的目的主要是通目aspx所在文件夹名找到AccordionPane
    2)回传回来后根据URL路径中的文件夹名称与刚刚保存的值作比对。然后显示相应的项。

列子如下:

  1) aspx页面添加Accordion控件,其源码摘要如下: 

 

 2) 将每个aspx页面所在项目文件夹名与AccordionPane ID对应,并保存。

 

        //定义菜单列表
        private static IDictionary<string, string> _MenuList { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {
            /*
               菜单列表格式为<文件夹目录名,AccordionPane ID>
               如下边的workflowdesigner文件夹对应ID为apWorkflow的AccordionPane
            */
            _MenuList = new Dictionary<string, string>() { 
                { "workflowdesigner", "apWorkflow" },
                { "reporting", "apReporting" },
                { "businessmanager", "apBusiness" }, 
                { "message","apMessage" },
                { "organizationmanager", "apOrgnization" },
                { "main","apBusiness" },
                { "systemlog","apSystemLog"},
                {"modulemanagemanet","apModule"}
            };
            SetMenueActiveIndex();
        }


 

 

 

3)通过URL路径得到文件夹名,对通过比对,找出要选中的项。
        /// <summary>
        /// 设置当前选中项
        /// </summary>
       private void SetMenueActiveIndex()
        {
            string currentPage = GetCurrentUrl();
            if (!string.IsNullOrEmpty(currentPage))
            {
                string currentPageLower = currentPage.ToLower();
                if (_MenuList.Keys.Contains(currentPageLower))
                {
                    //记录index
                    int index = -1;
                    foreach (var item in mainMenue.Panes)
                    {
                        //判断是否已显示
                        if (item.Visible == true)
                        {
                            index++;
                            if (item.ID.ToLower() == _MenuList[currentPageLower].ToLower())
                            {
                                //设置需要显示的项
                                mainMenue.SelectedIndex = index;
                                break;
                            }
                        }
                    }
                }
            }         
        }

        /// <summary>
        /// 根据当前链接,得到页面所在的目录名
        /// </summary>
        /// <returns></returns>
        private string GetCurrentUrl()
        { 
            string resultString = "";
            string[] splitList = Request.Url.AbsolutePath.Split('/');
            if (splitList.Length > 2)
            {
                if (!string.IsNullOrEmpty(splitList[splitList.Length - 2]))
                {
                    resultString = splitList[splitList.Length - 2];
                }
            }
            return resultString;
        }


 

 

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载