为 ECMAScript 设置应用程序页

上次修改时间: 2011年6月20日

适用范围: SharePoint Foundation 2010

在 SharePoint Online 中提供

可以在 .aspx 页上的脚本块中包含使用 ECMAScript(JavaScript、JScript) 对象模型的自定义代码,也可以创建单独的 .js 文件以包含您的代码并在 .aspx 页面中引用该文件。下面的示例假定您在 Microsoft Visual Studio 2010 中创建了具有应用程序页面的 SharePoint Foundation 项目,为 SharePoint 创建应用程序页面中有相关说明。Visual Studio 在 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS 中创建应用程序页面。

若要在 Visual Studio 代码编辑器中为 SP 命名空间获取 IntelliSense,请添加引用 SharePoint Foundation .js 文件的 <script> 标记,这些文件安装在 \LAYOUTS 目录中。请包含对 SP.Core.Debug.js、SP.Debug.js 和 SP.Runtime.Debug.js 的引用,如在示例中所示。

重要注释重要信息

在 Microsoft Visual Studio 2010 中,您添加的 <script> 标记是设计时组件,用于为 SharePoint Foundation 客户端对象模型提供 IntelliSense,但是要构建项目,必须注释掉 <script> 标记。此外,请在服务器上测试页面,以确保页面没有任何错误。

如果要编写可修改 SharePoint Foundation 数据的代码,请包含 FormDigest 控件以创建页面的安全验证摘要。

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" 
  Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" 
  Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" 
  Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestServerOM1.aspx.cs" 
  Inherits="TestServerOM1.Layouts.TestServerOM1.TestServerOM1" DynamicMasterPageFile="~masterurl/default.master" %>

<asp:Content ID="PageHead" ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">

<script type="text/ecmascript" src="/_layouts/SP.Core.js" />
<script type="text/ecmascript" src="/_layouts/SP.Debug.js" />
<script type="text/ecmascript" src="/_layouts/SP.Runtime.Debug.js" />

<script language="ecmascript" type="text/ecmascript">

          function onQuerySucceeded(sender, args) {
              alert('Title: ' + this.oWebsite.get_title() + ' Decription: ' + this.oWebsite.get_description());
          }

          function onQueryFailed(sender, args) {
              alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());
          }

          function retrieveWebSite() {
              var clientContext = new SP.ClientContext.get_current();
              this.oWebsite = clientContext.get_web();
              clientContext.load(this.oWebsite);
              clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
          }
      </script>
</asp:Content>

<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">

    <SharePoint:FormDigest ID="FormDigest1" runat="server"></SharePoint:FormDigest>

    <input id="Button1" runat="server" Text="Retrieve Web Site" OnClick="retrieveWebSite()" />
  
</asp:Content>

<asp:Content ID="PageTitle" ContentPlaceHolderID="PlaceHolderPageTitle" runat="server">
Application Page
</asp:Content>

<asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" >
My Application Page
</asp:Content>

有关 SharePoint Foundation 安装中附带的 debug.js 文件的信息,请参阅客户端对象模型分发和部署

请参阅

概念

如何:使用网站

数据检索概述

常见编程任务

其他资源

客户端类库

ECMAScript 类库