• 获取sharepoint讨论板地址


    之前碰到,新建讨论板之后,要在另一个site中,访问讨论详细内容,于是找讨论主题地址,以下是在用的方法
    通过事件监听(监听事件的创建,请参考MSDN这个例子),讨论板建立之后,获取其地址,目前有手动拼接,如果有更好的方法请留意告之;

    新建名为text的讨论板,地址例如为:
    http://win-l8muo3ci7hb/sites/Project/Lists/List4/Flat.aspx?
    RootFolder=%2Fsites%2FProject%2FLists%2FList4%2Ftest&
    FolderCTID=0x012002000011AC68D38FA24BAE274F76B33E6338   

    其中,
    RootFolder参数:经过了URL转码之后的,对其反转码的结果是
        RootFolder=/sites/Project/Lists/List4/test
        它就是讨论list地址+讨论主题。
    FolderCTID参数:偿试删除之后也可以访问到讨论板,也找不到它意思,所以就不加了。

           /// <summary>
           /// An item was added.
           /// </summary>
          public override void ItemAdded(SPItemEventProperties properties)
           {
               base.ItemAdded(properties);
               if (properties.ListTitle == "项目探讨")
               {
                   try
                   {
                       using (SPWeb web = properties.OpenWeb())
                       {
                           string userName = web.CurrentUser.Name;
                           string projectName = web.Title;
                           string projectUrl = web.Url;
                           SPList list = web.Lists[properties.ListId];
                           string title = list.Fields.GetField("主题").InternalName;
                           string titleValue = properties.ListItem[title].ToString();
                           //获取讨论板link  
                          //properties.List.DefaultDisplayFormUrl  为显示list的默认地址,可找到讨论板list地址;
                           string tmpUrl = properties.List.DefaultDisplayFormUrl.Substring     (0, properties.List.DefaultDisplayFormUrl.LastIndexOf('/'));
                           string RootFolder = tmpUrl + "/" + titleValue;
                           //url转码,避免含中文时地址出错
                           RootFolder = System.Web.HttpUtility.UrlEncode(RootFolder);
                           string discussionUrl = "http://" + Environment.MachineName + tmpUrl + "/Flat.aspx?RootFolder=" +RootFolder;
                       }
                   }
                   catch (Exception ex)
                   {
                   }
               }
           }

  • 相关阅读:
    Visual SVN1.5以上版本下载及破解过程
    C#线程系列讲座(2):Thread类的应用
    a标签的href 和onclick
    Windows 服务快捷启动命令
    iframe 跨域自动适应高度
    修正认知:string、Empty和null三者的正确区别

    线索二叉树
    最大连续子序列
    寻找最近点对
  • 原文地址:https://www.cnblogs.com/xzwen/p/2332136.html
Copyright © 2020-2023  润新知