关于sharepoint 中ItemAdding事件的取消解决办法
关于sharepoint 中ItemAdding事件的取消
我现在写了一个 SPItemEventReceiver里面重写了一个ItemAdding,我希望当我判断符合了一定的条件话就不让他增加了,并且报出错误的原因。
我现在是模仿ItemDeleting里面写的,貌似没什么作用.
public override void ItemAdding(SPItemEventProperties properties)
{
if(XXXX)
{
properties.ErrorMessage = "此时间段内已被确定使用!";
properties.Cancel = true;
}
}
如果像工作流那样直接删除的话感觉不是太好,我希望报出那个错误信息。不知道可有什么方法。
------解决方案--------------------
如果不是部署的问题,试试
properties.Cancel = true;
properties.ErrorMessage = "此时间段内已被确定使用!";
将那两行代码调换一下顺序,一般情况下都是先Cancel,然后给出具体的error message
------解决方案--------------------
我现在写了一个 SPItemEventReceiver里面重写了一个ItemAdding,我希望当我判断符合了一定的条件话就不让他增加了,并且报出错误的原因。
我现在是模仿ItemDeleting里面写的,貌似没什么作用.
public override void ItemAdding(SPItemEventProperties properties)
{
if(XXXX)
{
properties.ErrorMessage = "此时间段内已被确定使用!";
properties.Cancel = true;
}
}
如果像工作流那样直接删除的话感觉不是太好,我希望报出那个错误信息。不知道可有什么方法。
------解决方案--------------------
如果不是部署的问题,试试
properties.Cancel = true;
properties.ErrorMessage = "此时间段内已被确定使用!";
将那两行代码调换一下顺序,一般情况下都是先Cancel,然后给出具体的error message
------解决方案--------------------
- C# code
public override void ItemAdding(SPItemEventProperties properties) { try { // DO SOMETHING } catch (Exception ex) { properties.Cancel = true; properties.ErrorMessage = ex.Message; // LOG ERROR } base.ItemAdding(properties); }