在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();
}
}
查看SharePoint文档库是,显示层次目录,可以点击返回层次,布布扣,bubuko.com
时间: 2024-11-05 11:28:59