VS提供了简单的方法自定义错误页面。下面我们解释一下如何做到。
1. 管理员打开VS。
2. 打开之前创建的ListItemEventReceiver解决方案。
3. 右击添加新项目Application Page。
4. 命名EventReceiverErrorPage.aspx,添加。这在Layouts下生成一个.aspx页面。这是SharePoint映射文件夹,因此有绿色圆形图标。在此映射文件夹下有和项目同名子文件夹(这里是ListItemEventReceiver)被创建,里面包含了新建的Application Page应用程序页。
5. 打开此页,在此节下添加一个标签
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
6. 改变标签ID为lblErrMsg,清除Text属性。
7. 右击页面选择查看代码打开EventReceiverErrorPage.aspx.cs文件。将标签与错误信息联系在一起。
8. 现在我们需要无论何时遇到错误就使用此页面。打开EventReceiver1.cs文件,在properties.Cancel=true后添加如下代码
9. 输入错误格式的电话号码。你会看到下面自定义错误信息。
How it works...
properties对象可以设置为不同状态,其一是CancelWithRedirectUrl。这使得SharePoint查看另一个属性RedirectUrl。这个属性中,你可以设置自己的URL,作为查询参数发送错误信息。
当添加应用程序页时,你看到Layouts映射文件被创建。映射文件是SharePoint服务器文件系统地址。可以在
"\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE".
中找到。通常此地址为Root,作为根地址。一些SharePoint开发者成为Hive。任何在此映射文件夹中添加的子文件夹都将被创建到场内每个SharePoint服务器中硬盘上。
无论何时你在SharePoint中创建Web应用程序,这些映射文件夹都被映射到web应用程序中。layouts映射文件夹映射为_layouts,CONTROLTEMPLATES为_controltemplates等等。所以web应用程序中所有网站集和网站都可以通过相对路径访问这些映射文件夹。这也是我们使用/_layouts/链接到我们的应用程序页的原因。