我是SharePoint的新手。抱歉,如果我的问题的答案是显而易见的。
我不明白,如何以编程方式将任务分配给用户。我在SPWorkflowTaskProperties中设置属性,所有属性都会传递给任务,但字符串属性AssignedTo不会。
//next variants don't works
TaskProperty.AssignedTo = "1;#Michael Pushin";
TaskProperty.AssignedTo = "Michael Pushin";
TaskProperty.ExtendedProperties["Assigned To"] = "1;#Michael Pushin";我正在尝试实现委托模式。为此,我从字段类型为Person的列表项中读取信息。
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。
发布于 2012-02-29 15:43:17
不要将person转换为string。
object person = functItem["Default Assignee"];在这一点上,person就像SPFieldUserValue一样。转换为实际的类型,看看是否能够从中获取SPUser,然后获取SPUser.Login。
发布于 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
SPFieldUserValue userValue = new SPFieldUserValue(SPContext.Current.web, functItem["Default Assignee"].ToString());
SPUser userObject = userValue.User;
string asignee=userObject.ToString();
//hurray! asignee="MYDOMAIN\\michael.pushin"发布于 2012-12-05 02:11:40
在通过工作流设置分配的用户时,我发现这是可行的:
taskProperties.AssignedTo = workflowProperties.OriginatorUser.LoginName;https://stackoverflow.com/questions/9480759
复制相似问题