Sharepoint 2010 覆盖SharePoint:保存按钮单击事件共享点
我已经创建了一个自定义的SharePoint2010 Web部件,在其中我从用户那里获取输入,基本上这是一个新表单。我有一个预定义的数据存储列表,我使用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
<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。