我想在用户添加项目时显示错误消息。 所以我使用类似的代码:
public override void ItemAdding(SPItemEventProperties properties)
{
properties.Cancel = true;
properties.ErroMessage = properties.AfterProperties[columnname];
}
不幸的是,当列名是默认列时,它才有效。 对于自定义列,它不起作用。 我收到此错误消息:
event receiver has canceled the request
我尝试了一切: 列名是正确的,列不为null,.. 如果我写一个控制台应用程序获取此列,一切都会正常。 仅在事件接收器中它不起作用。
有人可以帮忙吗?太棒了!
答案 0 :(得分:0)
希望不是太愚蠢的问题,但您使用的是SharePoint识别的列名吗?我问的原因是你提到这些是自定义的列。当您通过UI定义列时,幕后的列名称最终会变得类似但不相同。
这个page为您提供了一些DisplayName与InternalName的视图。正如作者所提到的,当您通过UI重命名列时,事情变得更加复杂。