我正在SP Designer 2007中开发一个批准工作流程。我需要一个表单字段,允许用户验证他们是否已将Active Directory中的工作电子邮件地址输入到表单字段中。 (这将是授予批准的用户主管的电子邮件地址 - 如果此电子邮件地址错误,则整个过程将脱轨)。我认为它可以像电子邮件表单中的地址簿按钮一样工作。或者更好的是,就像Check Name按钮一样,只需检查当前输入的电子邮件地址,并通过加下划线或其他视觉提示来验证它。
似乎是一种明显有用的行为 - 我必须遗漏一些东西 - 我是SP新手。谢谢!
答案 0 :(得分:0)
您是否可以使用当前用户的用户名运行LDAP查询,获取用户“经理”字段。用它来获取经理的电子邮件地址。
这样,如果用户明确想要别人,则用户只会覆盖电子邮件地址。
这是一个帮助您进行LDAP查询的小代码
using System.DirectoryServices;
//DirectoryEntry de = new DirectoryEntry("LDAP://wel0101");
DirectoryEntry de = new DirectoryEntry();
DirectorySearcher deSearch = new DirectorySearcher(de);
//deSearch.PropertiesToLoad.Add("Email");
SearchResultCollection results;
deSearch.SearchScope = SearchScope.Subtree;
deSearch.Filter ="(&(objectClass=user)(cn=bacchu*))";
//deSearch.
results = deSearch.FindAll();
foreach (SearchResult result in results)
{
ResultPropertyCollection props = result.Properties;
richTextBox1.Text += "------------------------\n";
foreach (string propName in props.PropertyNames)
{
richTextBox1.Text += propName + ":\"" + props[propName][0] + "\"\n";
}
}
richTextBox1.Text += "Done" + DateTime.Now.ToString() + "\n";