• SharePoint开发中的小点滴 Document Library的URL


    SharePoint的Document Library是存储数据的好地方,我们的项目在里面存了很多图纸,图纸之间有引用关系,所以我做了一个页面来显示图纸的引用关系,工作过程如下:

    点击某个图纸文件, 弹出菜单,选择-->查看引用, 这时跳转到自己做的页面,同时通过url传入了文件路径, Source和RootFolder参数.

    利用文件路径获得与之有引用关系的图纸,并显示他们.

    代码如下(省略生成Query的业务代码):

                        using (SPSite site = new SPSite(source))
                        {
                            SPWeb web = site.OpenWeb();
                            web.AllowUnsafeUpdates = true;
                            SPListItem item = web.GetListItem(fileUrl);
                            SPList list = item.ParentList;

                            string listGuid = HttpUtility.ParseQueryString(SPEncode.UrlDecodeAsUrl(source))["ShowWebPart"];
                            source = source.Substring(0, source.IndexOf(".aspx") + 5);

                            SPView my = source.Contains("PersonalViews.aspx") ? list.Views[new Guid(listGuid)] : web.GetViewFromUrl(source);

                            //根据是Personal还是Public,分别获得SPView对象
                            my.Scope = SPViewScope.Recursive;//搜索范围是整个library的文件
                            SPQuery myq = new SPQuery(my);

                            myq.Query = query;

                            refContent.Text = list.RenderAsHtml(myq);//显示结果=SPView的样式和定义+自己的查询

                            web.AllowUnsafeUpdates = false;
                        }

    其中当引用的图纸文件在同级或下一级文件夹中时,正常显示, 如果是在上一级中, 就不显示,

    而通过调用list.GetItems(myq).Count.ToString()发现,Query确实能查询到有符合条件的文件存在.

    在经历了4个小时左右的摸索后,突然想到是不是地址栏中RootFolder在作怪,

    因为代码中并没有用到RootFolder,直接去掉,显示正常!

    原来甚至通过list.RenderAsHtml(myq)获得的结果还是会受到地址栏里RootFolder的影响.

    估计没有人会遇上我这个问题了,不过还是记录一下吧,提醒自己和大家以后注意sharepoint对地址URL的使用.

  • 相关阅读:
    May 9, 17:3020:00, 1479, "Concentrationcompactness/Rigidity method" lecture 4 by Yang Lan
    May 21, 10:0011:00, 1303, "Capacity, Primeter and ADMmass " by Jie Xiao
    课程期末安排
    问题: Schrodinger方程的广义Strichartz估计
    May 21, 11:1012:10 "On small solutions for nonlinear wave equations in exterior domains " by Makoto NAKAMURA
    SQL Server2019数据库备份与还原脚本,数据库可批量备份
    记一次 IIS 站点配置文件备份和还原,物理路径文件批量备份
    从网上收集的一些图片方面的操作
    android获取本地IP
    java利用httpconnect向服务器发送信息与接收回馈信息
  • 原文地址:https://www.cnblogs.com/MichaelZhang/p/document_library_rootfolder_url_matters.html
Copyright © 2020-2023  润新知