SharePoint2007 开发部署Application Pages
介绍:SharePoint应用程序页,也就是_layouts路径下的aspx页面,服务器C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS下,如我们常见的settings.aspx和viewlsts.aspx页面,就是典型的Application Pages。
下面,我们就一起写一个获取列表的Application Pages:
步骤一 打开VS2008,新建一个项目,如下图:

步骤二 创建文件夹层次,添加Microsoft.sharepoint.dll,添加aspx页面,并添加强命名标记,因为将来生成的dll文件,是要放到GAC里面的,所以必须有强命名。如下图:

步骤三 添加copy.bat,这个是可选的,作用主要是把生成的Dll文件,自动拷贝到GAC;生成的aspx页面,自动拷贝到Layouts下;然后,重新启动iis。
Copy.bat的详细内容是
|
@echo off SET TEMPLATE="c:\program files\common files\microsoft shared\web server extensions\12\Template" Echo Copying MyAppPages.dll to GAC "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\gacutil.exe" -if bin\MyAppPages.dll Echo Copying files to TEMPLATES directory xcopy /e /y TEMPLATE\* %TEMPLATE% iisreset |
步骤四 修改前台代码,引用application.master,Layouts下面的页面,基本上都是引用这个系统母版页,当然也有特别的,引用dialog.master等的,但是这里面的页面,一定不要用designer打开并保存,可以用VS或者记事本比较好,否则打开即使不修改保存后,依然报错。
|
<%@ Page Language="C#" MasterPageFile="~/_layouts/application.master" AutoEventWireup="true" CodeBehind="BackManages.aspx.cs" Inherits="BackManages,MyAppPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=46fe2c2183412eb6" %> |
添加PlaceHolderMain节点,添加我们需要展现列表的Gridview。熟悉SharePoint的人,对Placeholdermain节点一定不会陌生。
|
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server" > <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </asp:Content> |
步骤五 引用头文件,继承LayoutsPageBase,编写我们的代码。Layouts下面的应用程序页,都需要继承LayoutsPageBase来进行开发,我没有加命名空间,把它删掉了,这个页面在2007上非常矫情,可能也是自己没有彻底摸透,只要修改少有不当,就会报错,所以编写的时候,注意一下。
|
using Microsoft.SharePoint; using Microsoft.SharePoint.WebControls; public partial class BackManages :LayoutsPageBase { protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("标题"); dt.Columns.Add("其他"); SPSite site = SPContext.Current.Site; SPWeb web = site.OpenWeb(); SPListCollection ListC = web.Lists; foreach (SPList list in ListC) { DataRow dr = dt.NewRow(); dr["标题"] = list.Title.ToString(); dr["其他"] = list.DefaultViewUrl.ToString(); if (dr["其他"].ToString().Contains("Lists")) { dt.Rows.Add(dr); } } GridView1.DataSource = dt; GridView1.DataBind(); } } |
步骤六 生成,在IIS打开我们的Application Pages,看看展现效果吧,如下图:

总结 我创建的Application Pages页面,基本上就是这样了,只是一个简单的例子,当然,如果需要可以开发更复杂的页面,也可以重写SharePoint原来的功能,这些就要看开发者自己的需求了。
*************************************************************************************
作者:霖雨 出处:http://www.cnblogs.com/jianyus 本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。
SharePoint2007 开发部署Application Pages的更多相关文章
- SharePoint Site Pages & Application Pages
转:http://www.wcode.net/plus/view.php?aid=1582071 SharePoint一个很重要的概念就是Site Pages和Application Pages.接触 ...
- 在微服务系统开发部署中使用Azure RBAC自定义角色
Azure的官方文档介绍了如何创建用于Azure基于角色的访问控制的自定义角色(RBAC Role). 我们也可以根据同样的原理把RBAC细粒度资源管理运用于微服务产品的开发部署中.(https:// ...
- 让开发部署提速 8 倍,我参与贡献这款 IDE 插件的全过程
如何像参与开源那样,去参与一款 IDE 插件的设计? 作为一款 IDE 插件的使用者,我是否能决定下一个版本的功能? 自从产品经理银时小伙和他的开发小哥们在去年12月发布 Cloud Toolkit( ...
- 2022最新IntellJ IDEA诺依开发部署文档
前景提示 若伊是国内一款很好的开源项目,非常的便于学习,而且它是开源免费的,但是,它的开发部署文档实在是没法按照那个文档,快速高效的在本地搭建一套可以运行的项目,对于学习开发和使用实在是一大难题,为此 ...
- 2022最新IntellJ IDEA的zheng开发部署文档
目录 前景提示 一.环境整合 构建工具(参考工具部署方式) 二.git 导入编译器 三.模块描述浅析 四.配置文档 1.总配置 2.数据库配置 3.密码设置 4.配置建议 五.在IDEA中执行MySQ ...
- 使用ASP.NET MVC、Rabbit WeixinSDK和Azure快速开发部署微信后台
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:公众号后台系统和数据都基本准备妥当了,可以来分享下我是如何开发本微信公众号的后台系统了 ...
- 在SharePoint2010中用out-of-box的方式自定制Application Pages(AccessDenied,Confirmation,Error,Login,RequestAccess,Signout,WebDeleted)
在实际项目中需要对SharePoint2010中的AccessDenied页面进行自定制,于是乎上网搜索相关内容,经实际操作此方法可行,便以此文记录. 在SharePoint2010中,由于secur ...
- 开发部署一个简单的Servlet
Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline路径下.Servlet ...
- 使用pycharm进行远程开发部署调试设置 与 远程部署调试是否必须使用远程主机的解释器?
远程开发部署调试目的: 配置pycharm远程部署调试主要用于本地代码与远程服务器上的代码进行同步,使得本地代码经过修改后,可以很容易的同步到远程服务器上.同时设置pycharm的解释器为远程服务器的 ...
随机推荐
- windows 7、8分区
如果你的机器一开始安装的是windows7或者8, 一般分配的分区都是主分区.如果你想再搭配个linux操作系统,搞个双系统啥的,可能总是失败.我有血的教训啊. 从源头上可以解决分区问题,就是可以在安 ...
- Android平移动画
Android平移动画 核心方法 public void startAnimation(Animation animation) 执行动画,参数可以是各种动画的对象,Animation的多态,也可以是 ...
- iOS 图片裁剪与修改
最近做的项目中需要上传头像,发表内容的时候也要涉及到图片上传,我直接用的原图上传,但是由于公司网络差,原图太大,老是加载好久好久,所以需要把原图裁剪或者修改分辨率之后再上传,找了好久,做了很多尝试才解 ...
- 软件测试进阶(一)A/B测试终极指南
A/B测试终极指南 A/B测试不是一个时髦名词.现在很多有经验的营销和设计工作者用它来获得访客行为信息,来提高转换率.然而,A/B测试与SEO不同的是,人们都不太知道如何进行网站分析和可用性分析.他们 ...
- JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习
JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中 ...
- Leetcode_58_Length of Last Word
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...
- leetcode 217 Contains Duplicate 数组中是否有重复的数字
Contains Duplicate Total Accepted: 26477 Total Submissions: 73478 My Submissions Given an array o ...
- Oracle 11g Articles
发现一个比较有意思的网站,http://www.oracle-base.com/articles/11g/articles-11g.php Oracle 11g Articles Oracle Dat ...
- MO_GLOBAL包中一些过程和函数的使用
DECLARE V_CURRENT_ORG_ID NUMBER; V_ACCESS_MODE VARCHAR2(2); V_OU_COUNT NUMBER; V_ORG_ID NUMBER; V_MO ...
- 常用Map实现类对比
翻译人员: 铁锚 翻译时间: 2013年12月12日 原文链接: HashMap vs. TreeMap vs. Hashtable vs. LinkedHashMap Map 是最常用的数据结构之一 ...