覆盖SharePoint:SaveButton单击事件共享点

时间:2011-09-05 06:52:41

标签: sharepoint-2010 web-parts

我创建了一个自定义的Share Point 2010 webpart,其中我从用户那里获取输入,基本上它是一个新表单。我有一个预定义的数据存储列表,我用

<SharePoint:FormField ID="id" runat="server" ControlMode="New" FieldName="name" > 
</SharePoint:FormField>

并使用

 <SharePoint:SaveButton ID="SP_save" runat="server" ControlMode="New" >   
 </SharePoint:SaveButton>

保存表单字段。 一切正常,它在输入中获取有效数据并显示正确的验证消息。 但是我遇到了一个问题,因为我无法访问SharePoint:SaveButton点击事件并且无法将其覆盖到我的自定义事件

例如,我需要将数据保存在列表中,然后根据输入执行其他任务,所以我是如何做到的

1 个答案:

答案 0 :(得分:1)

您需要创建自定义SaveButton并覆盖SaveItem方法。

<强>代码:

namespace CustomOverrideControls
{
    public class CustomSaveButton : SaveButton
    {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
        }

        protected override bool SaveItem()
        {
            // Do the custom code here
            return base.SaveItem();
        }
    }
}

<强>标记:

<CustomOverrideControls:CustomSaveButton ID="SP_save" runat="server"
    ControlMode="New">
</CustomOverrideControls:CustomSaveButton>

我从文章How to override or customize the SharePoint SaveButton?中获取了上述示例,该文章还包含一个完整的项目供下载。