查看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();
}
}

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

时间: 2024-11-05 11:28:59

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

CAML获取SharePoint文档库中除文件夹外所有文档

方法一: ? 1 2 3 4 <QueryOptions>         <ViewAttributes Scope="Recursive" />     </QueryOptions> </query> 方法二: ? 1 2 3 4 5 <View Scope="RecursiveAll">     <Query>         <Where>...</Where>

代码操作Sharepoint文档库(创建、上传附件)

代码操作Sharepoint文档库(创建.上传附件) 做项目中遇到客户需求,根据Infopath表单生成Excel并上传到Sharepoint指定文档库中 创建文档库 SPSite site = new SPSite(siteurl); SPListItem item = site.AllWebs["网站名"].Lists["列表名"].Folders.Add("文档库URL", SPFileSystemObjectType.Folder); i

sharepoint文档库中日期显示详细日期,不显示几天前

文档库---库设置----栏

解决SharePoint 文档库itemadded eventhandler导致的上传完成后,编辑页面保持报错的问题,错误信息为“该文档已经被编辑过 the file has been modified by...”

在文档库中添加itemadded 后,在上传文件后,会自动打开文档属性的编辑页面,在保存的时候就会报错,说这个文档已经被编辑过了.这是应为默认itemadded实践是异步执行的,会在edit页面打开之前就把属性更新完了,知道在保存的时候,属性不一致. 两种解决方法: 1: 使用item.sysupdate(false). 这个false参数非常重要. 2:将handler的执行变为非异步执行,编辑element.xml文件,如下红色部分: <Receiver><Name>AutoD

[sharepoint]文档库,文件夹授权

写在前面 在项目中用到了文档库授权的方法,这里将查询到的方式总结一下. 涉及到的方法 在逻辑中用到的方法. /// <summary> /// 获取sharepoint站点角色定义 rest api /// </summary> /// <param name="hostWebUrl"></param> /// <param name="strAPI"></param> /// <para

通过webService下载sharepoint文档库文件

第一.基本原理: 1.通过对象模型得到SPItem.File得到文档库文件 2.通过WebService将item.File.OpenBinary()返回 3.将文件保存到服务器 4.从服务器下载到本地 第二.具体代码: WebService [WebMethod] public byte[] GetAttachmentFileflow(string webPath,string list,int fileId) { try { using (SPSite site = new SPSite(w

WebHttpRequest在sharepoint文档库中的使用

写在前面 由于sharepoint服务器上的站点采用的域用户windows认证的方式登陆,而app项目虽然能够提供用户名和密码,但客户是不愿意在网络上这样传输的.所以给提供了使用ssl证书认证的方式.而webhttprequest和sharepoint的Client object model 的结合还是蛮靠谱的,这里将采用这两种方式,带上证书发送请求进行上传文件. 核心代码 1 /// <summary> 2 /// 上传文件 3 /// </summary> 4 /// <

C#操作SharePoint文档库文档

using (Stream file = spFile.OpenBinaryStream()) { //其余代码 }

C#遍历SharePoint文档库下所有文档包括文档库中子文件夹下所有文档

/// <summary> /// 获取取子文件下所有文件 /// </summary> /// <param name="web"></param> /// <param name="folders"></param> private void EnumerateFolders(SPWeb web, SPFolderCollection folders) { foreach (SPFolder