查看SharePoint文档库是,显示层次目录,可以点击返回层次

在sharepoint 2013中,Documnet library(文档库)包含多层文件夹,当进入到文件夹后,返回指定层次了(例如返回上一层),需要用浏览器的返回。
使用起来不方便,而且浏览器的返回,会导致一些问题,不推荐普遍用户使用。
 
解决这个问题,可以做一个目录结构,实现方法是:访问Document library 时, url 有个参数[RootFolder],记录了路径。
主要对[RootFolder]参数进行处理。
这里使用webpart实现。当然,也可以Javascript方式实现
 
效果如下,已经进入多层文件夹: 文件路径,后面的每个节点可点击,跳转到相应的文件夹:
 
 
codeBehind, 如下

 
protected void Page_Load(object sender, EventArgs e)
        {
            string folderURL = this.Page.Request.QueryString["RootFolder"];
            if (string.IsNullOrEmpty(folderURL) == false)
            {
                string url = this.Page.Request.Url.AbsolutePath;
                var nameValues = HttpUtility.ParseQueryString(this.Page.Request.QueryString.ToString());
                StringBuilder sb = new StringBuilder();
                string[] arrStr = folderURL.Split('/');
                int arrLength = arrStr.Length;
                string FolderCTID = this.Page.Request.QueryString["FolderCTID"];
                string View = this.Page.Request.QueryString["View"];
                string tab = this.Page.Request.QueryString["tab"];
                string module = this.Page.Request.QueryString["module"];
                if (arrStr != null && arrLength > 0)
                {
                    for (int i = 0; i < arrLength; i++)
                    {
                        string name = arrStr[i];
                        if (name.Length > 0)
                        {
                            string rootFolderValue = folderURL.Substring(0, folderURL.LastIndexOf(name));
                            rootFolderValue = rootFolderValue + name + "/";
                            nameValues.Set("RootFolder", rootFolderValue);
                            string newUrl = url + "?" + string.Format("RootFolder={0}&FolderCTID={1}&View={2}&tab={3}&module={4}",
                                                 HttpUtility.UrlEncode(rootFolderValue), FolderCTID, HttpUtility.UrlEncode(View), tab, HttpUtility.UrlEncode(module));
                            if (i == 1)
                            {
                                name = "根目录";
                            }
                            sb.Append("<a href='" + newUrl + "'>" + name + "</a> ");
                            if (i != arrLength - 1)
                            {
                                sb.Append(">>");
                            }
                        }
                    }
                }
                pathStr = sb.ToString();
            }
        }  

 

 

posted on 2014-04-29 16:20  向振文  阅读(1179)  评论(2编辑  收藏  举报