• MOSS2010事件接收器开发以及自定义错误提示页


    编制人:忘忧草 2012-04-27编辑

    第一章 前言

    Sharepoint2001的事件接收器的错误提示页,效果和用户体验很不友好。给用户的感觉貌似应用程序出现错误,如下图:

    clip_image002

    后来看了SDK发现sharepoint2010支持自定义的错误页面。可以做到按照自己的实际情况进行定义。下面将采用vs2010来做开发。

    第二章 开发部署

    1. 打开VS2010创建moss2010的事件接收器解决方案,如下图:

    clip_image004

    clip_image006

    这里我选择了场解决方案。可以根据实际情况决定

    选择【自定义列表】的【列表事项事件】,可以根据实际情况决定,如下

    clip_image008

    2. 修改部署的XML配置文件

    提示:VS2010默认创建的事件接收器是针对所有列表部署的。这个显然不是我们需要的,那怎么修改呢?

    找到Elements.xml文件,打开,如下图:

    clip_image009

    我们要修改成需要部署的对应列表。我这里部署到我测试的自定义列表【测试】这个列表里头。找到这个列表的URL(Lists/List4)如下图:

    clip_image011

    接下来修改Elements.xml文件,删除掉属性值:ListTemplateId="100",添加属性值:ListUrl="Lists/List4"即为刚才的URL地址,如下图:

    clip_image013

    3. 采用原有提示样式

    我这里只是个引子,随便写点测试代码,实际的根据自己业务逻辑去编写。

    我们先看自带的错误信息编码和效果图:

    clip_image015

    部署下,成功后,我们怎么知道是否成功只部署刚才如上说的【测试】列表呢。就是要验证一下以防万一部署到所有自定义列表里头,我们找一个事件接收器的查看工具,我这里推荐的是【EventHandlerExplorer】如下图:

    clip_image017

    注意:说明一下这个工具其实可以用来直接部署事件接收器的。我这里用了VS2010的带的部署工具。

    为了验证不部署到其他列表中去,我们看下【公司通知】这个列表没有部署成功吧,如下图:

    clip_image019

    4. 部署完毕后,运行下看下效果图:

    我们对【测试】列表进行添加一个项目测试下。因为我们这里做的ItemAdding事件(就是添加前的事件,我们只阻止标题非法关键字的添加),如下图:

    clip_image021

    点击保存,出现如下提示信息:

    clip_image022

    这个提示信息看上去是不是太不专业,太不友好了吧。做过开发的人员都知道这个报黄页错误了。给用户的感觉貌似是程序有BUG了。如同前言里头说的那样。

    5. 修改代码成我们自己的提示样式

    这里指向我自定义的错误面:MyCustomeErrPage.aspx(可以指向自己喜欢的错误页面都可以),代码如下:

    clip_image024

    修改后,我们来添加自定义错误页面。选择这个方案,先添加【Layout文件夹】再添加【应用程序页】如下图:

    clip_image026

    clip_image027

    在CustomeErrPage文件夹下添加错误页面:MyCustomeErrPage.aspx,如下图:

    clip_image029

    添加完毕如下:

    clip_image031

    我们需要修改这个页面作为提示信息,修改如下图:

    clip_image033

    修改完毕保存,部署安装。运行看下效果图:

    如上一样,添加非法关键字

    clip_image034

    clip_image036

    这个是不是我们想要的结果呢?答案是肯定的。到此为止,我们就完成了自定义错误提示页的定制

    特别说明:如果是infopath的表单页,此定制错误页面无效。大家可以用httpwatch等工具去监测,然后用适当的方式进行错误定制。

  • 相关阅读:
    对C++类的继承和派生的理解
    排序算法 之 归并排序
    排序算法 之 冒泡排序
    排序算法 之 选择排序
    排序算法 之 插入排序
    排序算法 之 快速排序
    进程和线程
    C++ 之 强制转换
    C++ 之 智能指针
    C++ STL 之 分配器(allocator)
  • 原文地址:https://www.cnblogs.com/love007/p/2473677.html
Copyright © 2020-2023  润新知