<%
@ 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 >
<% @ 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。