首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPWorkflowTaskProperties.AssignedTo和"1;#Alice Jackson“格式

SPWorkflowTaskProperties.AssignedTo和"1;#Alice Jackson“格式
EN

Stack Overflow用户
提问于 2012-02-28 19:06:58
回答 4查看 2.8K关注 0票数 0

我是SharePoint的新手。抱歉,如果我的问题的答案是显而易见的。

我不明白,如何以编程方式将任务分配给用户。我在SPWorkflowTaskProperties中设置属性,所有属性都会传递给任务,但字符串属性AssignedTo不会。

代码语言:javascript
复制
//next variants don't works
TaskProperty.AssignedTo = "1;#Michael Pushin";
TaskProperty.AssignedTo = "Michael Pushin";    
TaskProperty.ExtendedProperties["Assigned To"] = "1;#Michael Pushin";

我正在尝试实现委托模式。为此,我从字段类型为Person的列表项中读取信息。

代码语言:javascript
复制
SPList functList = thisWeb.Lists["Functions"];
SPListItem functItem = functList.GetItemById(1);
object person = functItem["Default Assignee"];
string assignee = person.ToString();
//At this point assignee equals "1;#Michael Pushin"

当我手动设置"Assigned To“字段并以编程方式读取时,它的值也等于"1;#Michael Pushin”。

如何通过person变量的值以编程方式设置"Assigned To“字段?

提前谢谢你。

附言:很抱歉我的写作。英语不是我的母语。

PPS: SharePoint 2010。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-29 15:43:17

不要将person转换为string。

代码语言:javascript
复制
object person = functItem["Default Assignee"];

在这一点上,person就像SPFieldUserValue一样。转换为实际的类型,看看是否能够从中获取SPUser,然后获取SPUser.Login。

票数 3
EN

Stack Overflow用户

发布于 2012-02-29 20:11:06

我找到了一个解决方案!感谢这篇文章:http://blogs.windowsclient.net/mortezanaeimabadi/archive/2011/09/17/how-to-obtain-spuser-object-from-values-such-as-quot-27-morteza-quot.aspx

代码语言:javascript
复制
SPFieldUserValue  userValue = new SPFieldUserValue(SPContext.Current.web, functItem["Default Assignee"].ToString());
SPUser userObject = userValue.User;
string asignee=userObject.ToString();
//hurray! asignee="MYDOMAIN\\michael.pushin"
票数 1
EN

Stack Overflow用户

发布于 2012-12-05 02:11:40

在通过工作流设置分配的用户时,我发现这是可行的:

代码语言:javascript
复制
         taskProperties.AssignedTo = workflowProperties.OriginatorUser.LoginName;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9480759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档