我正在编写一个将选定的Sharepoint列表项集成到Activity Stream中的应用程序。我正在使用Sharepoint 2010和Visual Studio中的新事件接收器解决方案。
问题是我希望能够链接回客户端的Sharepoint站点中的原始项目,并且使用SPListItem.Url属性获取的Blog Post和Announcement列表项目的URL不起作用。
例如,如果我的Blog Post是ListItemID#12,那么我从SPListItem.Url获取的Url就是:
*列表/帖子/ 12_000 *
当我需要实际导航到该项时:
列表/帖子/ Post.aspx?ID = 12
我当然可以通过获取List Url并添加'/Post.aspx.ID='+ ItemID来自己构建URL,但是如果客户端修改了开箱即用的博客模板并重命名为Post.aspx页面,链接将失败。有没有我不知道的属性叫我需要的网址?
同样的问题也适用于公告,因为它们现在似乎在javascript弹出窗口中打开,因此在Sharepoint 2010中获取Url变得更加复杂。
答案 0 :(得分:1)
我遇到了同样的问题,我已经使用
解决了这个问题listItem.ParentList.DefaultDisplayFormUrl + ?ID=listItem.ID
获取帖子网址。似乎已将其解决回Lists/Post/Post.aspx?ID=xxx
。