Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 2010 覆盖SharePoint:保存按钮单击事件共享点_Sharepoint 2010_Web Parts - Fatal编程技术网

Sharepoint 2010 覆盖SharePoint:保存按钮单击事件共享点

Sharepoint 2010 覆盖SharePoint:保存按钮单击事件共享点,sharepoint-2010,web-parts,Sharepoint 2010,Web Parts,我已经创建了一个自定义的SharePoint2010 Web部件,在其中我从用户那里获取输入,基本上这是一个新表单。我有一个预定义的数据存储列表,我使用 <SharePoint:FormField ID="id" runat="server" ControlMode="New" FieldName="name" > </SharePoint:FormField> 使用 <SharePoint:SaveButton ID="SP_save" runat="s

我已经创建了一个自定义的SharePoint2010 Web部件,在其中我从用户那里获取输入,基本上这是一个新表单。我有一个预定义的数据存储列表,我使用

<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 click事件,无法将其覆盖到我的自定义事件


例如,我需要将数据保存在列表中,然后根据输入执行另一项任务,因此如何执行该任务,您需要创建一个自定义的
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>
标记:

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>


我从包含完整下载项目的文章中选取了上述示例。

实际上,我想将用户重定向到我定义的某个页面,因此在saveitem()中,我设置了重定向URL,但是它没有重定向到我定义的页面?@Saboor Awan:我只需在
base.SaveItem
之后调用
Response.Redirect
方法,但您也可以尝试通过添加
?source=http://[site]/[library]/CustomRedirectPage.aspx
()来修改新的项目按钮URL。