sharepoint对象模型项添加eventreceiver

sharepoint对象模型项添加eventreceiver,sharepoint,Sharepoint,我正在尝试在列表中添加一个事件接收器以进行itemadding。我有一个名为EmployeeName people picker的字段,我需要从中获取该特定员工在添加项目时的userprofile,并尝试从userprofile自动更新EmployeeNo 我使用如下:但不工作 public override void ItemAdding(SPItemEventProperties properties) { base.ItemAdding(prope

我正在尝试在列表中添加一个事件接收器以进行itemadding。我有一个名为EmployeeName people picker的字段,我需要从中获取该特定员工在添加项目时的userprofile,并尝试从userprofile自动更新EmployeeNo

我使用如下:但不工作

 public override void ItemAdding(SPItemEventProperties properties)
        {
            base.ItemAdding(properties);

            UserProfileManager profileManager = new UserProfileManager(context);

            UserProfile myProfile = profileManager.GetUserProfile(item["EmployeeName"].ToString());



            if (myProfile["EmployeeNo"].Value != null)
            {

                properties.AfterProperties["EmployeeNo"] = (myProfile["EmployeeNo"]).ToString();

            }


            item.Update();

        }

请在这方面帮助我。

检查您是否使用了正确的内部列名。 你从哪里得到“物品”?尝试改用properties.ListItem。
不要调用properties.ListItem.update()(或代码中的item.update())。

这不起作用。是不是我必须这样带GetUserProfile(域\用户名)如果是这样,如何从输入为EmployeeName的字段中获取帐户名如果是“EmployeeName”,则应获取具有属性的员工名。ListItem[“EmployeeName”]是字段的内部名称。是的,我这样做了..根据itemadding事件中尚未添加项的EmployeeName获取userprofile时,这是正确的方法吗。