如何以编程方式从工作流中函数的 url 字段中获取字符串值

本文关键字:url 字段 获取 字符串 函数 编程 方式 工作流 | 更新日期: 2023-09-27 18:33:01

我在运行工作流时创建一个文件夹,我想使用当前项目中的"存储库"字段,就像参数器一样(这是我想要创建文件夹时的位置),当分配给变量存储库时,静态链接"https://site/teamSite/"有效,但在这种情况下失败。

private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
    {
        int item = onWorkflowActivated1.WorkflowProperties.ItemId;          
        SPFieldUrlValue fieldValue = new SPFieldUrlValue(SPContext.Current.Item["Repository"].ToString());
        string linkTitle = fieldValue.Description;
        string linkUrl = fieldValue.Url;          
        string repository = linkUrl;
        string ruta = "Shared Documents/Folder"+item;
        //string respository  = "https: //site/teamSite/"
        using (SPSite site = new SPSite(repository))           
        {
            using (SPWeb web = site.OpenWeb())
            {
                web.Folders.Add(ruta);
                workflowProperties.Item["Folder"] = repository+ruta;                   
                workflowProperties.Item.Update();  
            }
        }
    }

如何以编程方式从工作流中函数的 url 字段中获取字符串值

 private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
    {
        //Currente item
        int item = onWorkflowActivated1.WorkflowProperties.ItemId;
        SPItem current =  onWorkflowActivated1.WorkflowProperties.Item;    
        //Get url from field
        SPFieldUrlValue fieldValue = new SPFieldUrlValue(current["Repository"].ToString());
        string linkTitle = fieldValue.Description;
        string linkUrl = fieldValue.Url;            
        string ruta = "Shared Documents/Folder"+item;
        using (SPSite site = new SPSite(linkUrl))
        {
            using (SPWeb web = site.OpenWeb())
            {
                web.Folders.Add(ruta);
                workflowProperties.Item["Folder"] = linkUrl + ruta;                   
                workflowProperties.Item.Update();  
            }
        }
    }