覆盖SharePoint:SaveButton单击事件共享点
问题描述:
我已经创建了一个自定义Share Point 2010 webpart,其中我从用户获取输入,基本上它是一种新的表单。我对数据存储的预定义列表,我用覆盖SharePoint:SaveButton单击事件共享点
<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单击事件,并且无法将其覆盖到我的自定义事件
例如,我有一个要求将数据保存在列表中,然后根据输入执行一些其他任务,所以我该怎么做
答
您需要创建自定义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?也包含了下载一个完整的项目上面的例子。
其实我想将用户重定向到我定义的页面,所以在saveitem()中,我设置了RedirectUrl,但它不会重定向到我定义的页面? –
@Saboor Awan:我只需在'base.SaveItem'后调用'Response.Redirect'方法,但也可以尝试通过添加'?source = http:// [site]/[库]/CustomRedirectPage.aspx'(http://www.graphicalwonder.com/?p=666)。 –