我正在Apps
为SharePoint 2013
. 我想以编程方式在我的应用程序包中创建多个列表。
这就像用户输入列表的名称,当他单击“创建”按钮时,应在我的应用程序中而不是在 SharePoint 网站中创建具有相同名称的列表。
我创建了一个AutoHosted App
使用客户端对象模型技术的方法。
我怎样才能实现这个功能?
我正在Apps
为SharePoint 2013
. 我想以编程方式在我的应用程序包中创建多个列表。
这就像用户输入列表的名称,当他单击“创建”按钮时,应在我的应用程序中而不是在 SharePoint 网站中创建具有相同名称的列表。
我创建了一个AutoHosted App
使用客户端对象模型技术的方法。
我怎样才能实现这个功能?
我找到了解决方案。
当我创建ContextToken
对象时,我传递SPHostUrl
了请求,但我没有传递,SPAppWebUrl
所以使用它获取 AppWebUrl 的令牌,因此它在我的应用程序中创建了列表,而不是在 SharePoint 站点中。
像下面的代码:
var hostWeb = Page.Request["SPAppWebUrl"]; //This will get the URL of AppWeb not SharePoint site...
using (var clientContext = TokenHelper.GetClientContextWithContextToken(hostWeb, ContextToken, Request.Url.Authority))
{
//Code for creating list or manipulating them...
//This ClientContext is created for the AppWeb.
}
当我搜索用于创建的代码时,每次我发现hostWeb
对象是使用创建的,SPHostUrl
因此我问了这个问题。
感谢大家的帮助。
您可以使用 JavaScript 客户端对象模型在 App 中创建列表。有一个代码示例演示了如何在此处执行此操作:
http://msdn.microsoft.com/en-us/library/jj163201.aspx#BasicOps_SPListCRUD