通过下面的代码,可以完全脱离sharepoint前台的架构,对页面进行自定制样式,并且可以调用客户端对象模型(ECMAScript)实现和sharepoint的交互。
注意颜色标识的部分,是必须的。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Page Language="C#" %>
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta name="WebPartPageExpansion" content="full" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled 1</title>
<SharePoint:ScriptLink language="javascript" name="sp.js" OnDemand="true" runat="server" Localizable="False"/>
<SharePoint:ScriptLink language="javascript" name="sp.ribbon.js" OnDemand="true" runat="server" Localizable="False"/>
<script type="text/javascript">
var _fV4UI = true;
function getWebProperties() {
var ctx = new SP.ClientContext.get_current();
this.web = ctx.get_web();
ctx.load(this.web);
ctx.executeQueryAsync(Function.createDelegate(this, this.onSuccess),
Function.createDelegate(this, this.onFail));
}
function onSuccess(sender, args) {
alert('web title:' + this.web.get_title() + '\n ID:' + this.web.get_id() +
'\n Created Date:' + this.web.get_created());
}
function onFail(sender, args) {
alert('failed to get list. Error:'+args.get_message());
}
function mclick(){
ExecuteOrDelayUntilScriptLoaded(getWebProperties,"sp.js");
}
</script>
</head>
<body onload="if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();">
<form runat="server" >
<SharePoint:SPNoScript runat="server"/>
<asp:Button runat="server" Text="Submit" OnClientClick="mclick();"></asp:Button>
<SharePoint:FormDigest runat="server"></SharePoint:FormDigest>
</form>
</body>
</html>