从列表中的SharePoint用户字段获取用户名

Eva*_* M. 3 sharepoint workflow moss workflow-foundation

我有一个自定义的sharepoint工作流,我正在Visual Studio中开发.工作流针对文档库运行,文档库具有连接到它的自定义内容类型.内容类型包括用户查找字段("所有者").

我正在尝试让我的工作流程将任务分配给"所有者"查找字段.但是,我只能获取用户的显示名称,而不是帐户用户名.

有人可以帮忙吗?

Kus*_*sek 10

有关如何从现场获取用户详细信息,请参阅此文章.

public static SPUser GetSPUser(SPListItem item, string key) {
     SPFieldUser field = item.Fields[key] as SPFieldUser;

     if( field != null) {   
         SPFieldUserValue fieldValue = field.GetFieldValue(item[key].ToString()) as SPFieldUserValue; 

         if(fieldValue != null)     
            return fieldValue.User; 
      }
      return null; 
 }
Run Code Online (Sandbox Code Playgroud)

您的代码应该是这样的

SPUser spUser=GetSPUser(splistItem,"Owner");
String sUserName=(spUser!=null)?spUser.UserName:null;
Run Code Online (Sandbox Code Playgroud)