通过Web服务将SharePoint文档列表添加到快速启动

时间:2009-03-16 06:54:02

标签: web-services sharepoint

我正在通过C#.Net应用程序使用Webservice Lists.AddList方法在SharePoint中创建文档库。 (见下文)

listsService.AddList(listTitle, listDescription, 101);

我希望它们显示在他们创建的网站下的“快速启动”菜单中,而不仅仅是“所有网站内容”菜单中。

我已经查看了Lists.UpdateList()方法,但没有太多运气。

有没有人知道如何通过Web服务执行此操作? (它无法手动完成,因为要更改的列表太多了。)

我正在使用最新版本的SharePoint Server和Web服务。

谢谢你:)

3 个答案:

答案 0 :(得分:2)

我认为您通过网络服务无法设置OnQuickLaunch是正确的。在OnQuickLaunch listProperties中为UpdateList设置OnQuickLaunch="true"是我会尝试的,但听起来不行。

如果您的列表尚不存在,我建议您使用AddListFromFeature创建包含列表模板的功能,并通过{{1}}添加列表。您的另一个选择似乎是编写自己的服务来通过对象模型设置属性。

答案 1 :(得分:2)

XmlDocument xmlDoc = new System.Xml.XmlDocument();

XmlNode ndProperties = xmlDoc.CreateNode(XmlNodeType.Element, "List", "");

XmlAttribute ndQuickLaunchAttrib = (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute, "OnQuickLaunch", "");

ndQuickLaunchAttrib.Value = "True";

ndProperties.Attributes.Append(ndQuickLaunchAttrib);

XmlNode ndReturn = proxy.UpdateList("12345", ndProperties, null, null, null, null);

答案 2 :(得分:0)

最好先创建一个SPList对象,然后执行OnQuickLaunch =“true”。不要忘记更新命令!

Example:
Guid listID = Guid.Empty;
listID = siteObject.Lists.Add("Title","Description",listTemplateObject);
//This will work:
SPList thisList = siteObject.Lists[ListID];
thisList.OnQuickLaunch = true;
thisList.Update();