MOSS应用程序页面的HelloWord示例代码

来源:互联网 发布:js上传图片跨域问题 编辑:程序博客网 时间:2024/06/12 01:26

下面是一个最简单的应用程序页面的示例代码,只要把页面拷贝到_layouts目录下即可。

<%@ Assembly Name="Microsoft.SharePoint, [full 4-part assembly name]"%> 
<%@ Page Language="C#" MasterPageFile="~/_layouts/application.master" 
         Inherits
="Microsoft.SharePoint.WebControls.LayoutsPageBase" %>

<%@ Import Namespace="Microsoft.SharePoint" %>

<script runat="server">
  
protected override void OnLoad(EventArgs e) {
    SPSite siteCollection 
= SPContext.Current.Site;
SPWeb site 
= SPContext.Current.Web;
    lblSiteTitle.Text 
= site.Title;
    lblSiteID.Text 
= site.ID.ToString().ToUpper();
  }

</script>

<asp:Content ID="Main" runat="server"
             contentplaceholderid
="PlaceHolderMain" >
  Site Title: 
<asp:Label ID="lblSiteTitle" runat="server" />
  
<br/>
  Site ID: 
<asp:Label ID="lblSiteID" runat="server" />
</asp:Content>

<asp:Content ID="PageTitle" runat="server" 
             contentplaceholderid
="PlaceHolderPageTitle" >
   Hello World
</asp:Content>

<asp:Content ID="PageTitleInTitleArea" runat="server"
             contentplaceholderid
="PlaceHolderPageTitleInTitleArea" >
   Hello World
</asp:Content>


    这段代码把后台的onload代码写在了aspx页面上,但其实我更愿意使用code-behind的方式来编写代码。
    比如我要建一个customlogin的项目,其中只有一个login.aspx页面,把它放在_layouts目录下的话,只需要把customlogin.dll放到/layouts/bin目录下即可。
    但这样会有一个问题,_layouts目录下本身已经有名为login.aspx页面了,如果我们的页面也放在_layouts目录下,就会覆盖原有的login.aspx文件。所以,我们通常可以在_layouts目录下为我们的项目新建一个专门存放我们自定义文件的子目录。
    如果想把login.aspx页面放到_layouts目录下的一个子目录下的话,那该子目录需要创建成虚拟目录才能使用code-behind的方式。即,创建子目录customlogin后,我们的login.aspx的存放路径就是_layouts/customlogin/login.aspx;而后台的customlogin.dll的存放路径就是_layouts/customlogin/bin/customlogin.dll。
   

 
原创粉丝点击