1

我有一个名为“NameList”的自定义列表。我只有两列。说出名字(单行/文本)和姓氏(单行/文本)。我想要做的是当用户将“新项目”添加到列表中时。他只需要填写名字。然后他使用“附加文件”选项添加一个附件并单击“确定”。当他单击“确定”时,我希望姓氏自动更新为“Matthews”。因为我想要完成的是能够在添加附件时更新列(字段)。这是我的代码。有人可以告诉我哪里出错了。

它也没有一点工作。我也是共享点开发的新手,在来这里之前我确实尽可能多地搜索了信息。不会填充姓氏列。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;

namespace UpdateNameList
{
    public class NameListItemEventReceiver : SPItemEventReceiver
    {
    public override void ItemAttachmentAdded(SPItemEventProperties properties)
    {
        base.ItemAttachmentAdded(properties);
        try
        {
        SPSecurity.RunWithElevatedPrivileges(delegate()
        {
            using (SPSite site = new SPSite("http://cse-sp01/sites/SPPilot"))
            {
            using (SPWeb web = site.OpenWeb())
            {
                try
                {

                web.AllowUnsafeUpdates = true;
                SPList list = web.Lists["NameList"];
                int listItemId = properties.ListItemId;
                SPListItem listItem = list.Items.GetItemById(listItemId);
                listItem["Last Name"] = "Matthews";
                listItem.Update();
                web.AllowUnsafeUpdates = false;
                }
                catch (Exception ex)
                {
                properties.ErrorMessage = "Something went wrong??";

                }



            }
            }
        });

        }
        catch (Exception ex)
        {

        properties.Cancel = true;
        properties.ErrorMessage = "Error encountered";
        }


    }//End of Void ItemAttachmentAdded
    }
}//End of namespace
4

0 回答 0