有时候我们在做表单插件时可能会碰到一些效验的需求,若效验不通过呢就不允许保存或者提交,但又不想做操作服务插件,所以在表单插件内也可以中断保存或者提交操作拉。
如果要中断保存操作,那就在BeforeSave(保存前事件)内操作,
如果要中断提交操作,那就在BeforeSubmit(提交前事件)内操作,
为啥不能在after内操作嘞,因为after中你已经保存/提交完成了,对应的事务也已经走完了,所以这个时候进行中断是来不及的噢
附上代码
public override void BeforeSave(BeforeSaveEventArgs e)
{
base.BeforeSave(e);
if (pro)
{
//取消保存标志
e.Cancel = true;
//抛出异常 以此中断插件打到中断操作的效果
throw new Exception(probo);
}
}
public override void BeforeSubmit(BeforeSubmitEventArgs e)
{
base.BeforeSubmit(e);
if (pro)
{
//取消保存标志
e.Cancel = true;
//抛出异常 以此中断插件打到中断操作的效果
throw new Exception(probo);
}
}
若有抄袭请及时联系本人进行删除
推荐阅读