Sharepoint 在EventHandler中是不能实现弹出的消息的。那要实现弹出消息改如何实现呢?
虽然不能在EventHandler中实现消息弹出功能,但是可以实现自定义错误页面跳转,那我们是不是可以在自定义的错误页面进行消息弹出,然后页面返回到原始页面?
试一下吧:
1.建立EventReceiver项目,并新增自定义错误页面,结构如下:
2. ItemAdding事件中,添加如下代码:
properties.ErrorMessage = "Start time must greater than now !"; properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl; properties.RedirectUrl = "/_layouts/MeetingRoomReserveHandler/MeetingRoomError.aspx?msg=" + properties.ErrorMessage; return;
3.在自定义错误页面MeetingRoomError.aspx,添加JS:
<script type="text/javascript"> function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } var msg = getQueryString("msg"); alert(msg); history.go(-1); </script>
4.部署,查看效果:
基本实现所要的效果。