调用静态方法以获取SharePoint 2010文档的绝对URL
本文关键字:URL 文档 2010 静态方法 获取 SharePoint 调用 | 更新日期: 2023-09-27 18:00:29
我正试图在SharePoint 2010文档库中检索当前文档的URL,以便将其添加到SharePoint 2010工作流中的电子邮件中。
目前,我在Utilities.cs文件中有以下代码:
namespace WorkflowProject1.Workflow1
{
public static class Utilities
{
public static string AbsoluteUrl(this SPFile File)
{
string EncodedUrl = File.Item[SPBuiltInFieldId.EncodedAbsUrl].ToString();
string DecodedURL = SPEncode.UrlDecodeAsUrl(EncodedUrl);
return DecodedURL;
}
}
}
在具有相同名称空间的工作流文件(Workflow1.cs)中,我尝试使用以下行调用上述方法:
Item.File.AbsoluteUrl();
当我尝试调用方法时,我得到"名称Item在当前上下文中不存在"。我是不是错过了推荐信?任何关于如何检索DecodedURL值以便在我的主工作流文件中使用它的建议都将不胜感激。此外,大部分代码是从另一篇文章中复制的,但我没有足够的分数来评论原始文章。
由于(基于此方法)您已经检索到正确的SPFile对象,因此应该能够引用url属性。
请参阅:https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfile.url(v=office.14).aspx
如果您想要绝对URL,可以使用SPFile上的字段EncodedAbsUrl
(这也适用于SPListItems):
用法(假设您的SPFile
对象名为file
):
string absoluteUrl = (string) file.Item[SPBuiltInFieldId.EncodedAbsUrl];
文件:https://msdn.microsoft.com/EN-US/LIBRary/microsoft.sharepoint.spbuiltinfieldid.encodedabsurl.aspx