• SharePoint 2007 开发部署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 本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。

  • 相关阅读:
    2020/12/2
    2020/12/1
    Cannot do a soft reset in the middle of a merge
    webpack img
    rm -fr ".git/rebase-apply"
    css 颜色
    初始化样式
    a标签
    esma 最新
    前端
  • 原文地址:https://www.cnblogs.com/jianyus/p/2648195.html
Copyright © 2020-2023  润新知