是否有一種簡單的方法從sharepoint的登錄名「j.smith」中檢索全名,例如「John Smith」?我一直在尋找代碼的年齡。通過在sharepoint 2010中登錄名獲取全名
我有這樣的代碼:
string strName = SPUtility.GetAccountName("j.smith");
凡則strName應該是我的全名和 「j.smith」 是我的登錄名。我不認爲它是正確的。從sharepoint的任何建議掌握在那裏?
是否有一種簡單的方法從sharepoint的登錄名「j.smith」中檢索全名,例如「John Smith」?我一直在尋找代碼的年齡。通過在sharepoint 2010中登錄名獲取全名
我有這樣的代碼:
string strName = SPUtility.GetAccountName("j.smith");
凡則strName應該是我的全名和 「j.smith」 是我的登錄名。我不認爲它是正確的。從sharepoint的任何建議掌握在那裏?
如果全名需要獲取已經被添加到網站或它是確定該用戶被添加到網站,你可以使用用戶:
web.EnsureUser(LoginName).Name
或者您可以使用用戶配置文件服務並且如果用戶未被添加到站點並且您不想將該用戶添加到該站點,則從他的用戶配置文件中獲取該用戶的全名。
SPServiceContext context = SPServiceContext.GetContext(site);
UserProfileManager upm = new UserProfileManager(context);
UserProfile profile = upm.GetUserProfile(@"zsdev\ia");
Console.WriteLine(profile.DisplayName);
謝謝!我仍然有一個問題,我怎樣才能搜索「j.smith」?如果我沒有給「機器」?我只給了「j.smith」參數。不是「machine \\ j.smith」希望你的幫助 – diceyyyy
像ur.GetUserProfile(@「zsdev \ ia」); ..我只給「ia」作爲參數,而不是「zsdev \\ ia」 – diceyyyy
只是提到登錄名,即沒有AD名稱的「j.smith」也可以工作,如果Sharepoint連接到單個域或者即使連接到多個域名,但loginName對於兩個域都是唯一的,即所有連接域中只有一個「j.smith」。 – Unnie