Sharepoint 在EventHandler中是不能实现弹出的消息的。那要实现弹出消息改如何实现呢?

         虽然不能在EventHandler中实现消息弹出功能,但是可以实现自定义错误页面跳转,那我们是不是可以在自定义的错误页面进行消息弹出,然后页面返回到原始页面?

         试一下吧:

       1.建立EventReceiver项目,并新增自定义错误页面,结构如下:

         image

     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.部署,查看效果:

                     image

              image

 

image

 

基本实现所要的效果。

posted on 2012-10-23 14:09  Roy Cao  阅读(315)  评论(0编辑  收藏  举报