在将新项目添加到列表中后,如何基于模板创建新的SharePoint网站



如何在将新项目添加到列表中,例如,我将基于模板创建一个新的SharePoint网站项目,其想法是,在我向该列表中添加一个新项目后,我需要自动为该项目创建一个新的SharePoint站点(TeamSpace)。

我也想知道是否可以使用工作流程创建此功能,或者是否可以使用工作流来调用WebService(C#)。

好吧,首先,您必须使用Visual Studio创建一个SharePoint项目在那里您可以写C#

在C#

中创建一个站点
 SPSite topLevelSite = new SPSite("http://localhost");
 SPWeb spWebInstance = topLevelSite.OpenWeb();
 String siteTemplate = spWebInstance.WebTemplate;
 try
 {
SharePointWebInstance.Webs.Add("the name", "name", "new site added",    (UInt32)System.Globalization.CultureInfo.CurrentCulture.LCID, siteTemplate, false, false);
  }
 catch(Exception ex)
 {
  //...
 }
 finally
 {
 topLevelSite.Close();
 SharePointWebInstance.Dispose();
 }

只是为了使您入门,顺便说一句,您只使用SharePoint Designer,C#与Visual Studio一起使用C#。

从列表中检索一些东西

using Microsoft.SharePoint;  

class SPTest {  
public void ReadList() {  
// Use using to make sure resources are released properly  
using(SPSite oSite = new SPSite(pathToSite)) {  
using(SPWeb oWeb = oSite.AllWebs[nameOfWeb]) {   
  // Alternately you can use oSite.RootWeb if you want to access the main site  
  SPList oList = oWeb.Lists[listName];  // The display name, ie. "Calendar"  
  foreach(SPListItem oItem in oList.Items) {  
    // Access each item in the list...  
    DateTime startTime = (DateTime)oItem["Start Time"];  
    // etc....  
  }  
  }  
  }  
  }  
  } 

只是为了让您入门,我会推荐YouTube,以查看如何一起使用SharePoint和Visual Studio,或者更好地关注Microsoft Offical Course Course Course 10175a(我做到了)上面的代码不是从互联网上脉冲的,而不是从书中播放的代码。

我认为,尽管有一些Java代码是带有Ajax等的verry offerry,也无法使用JavaScript进行此操作,因此您应该花时间在Visual Studio中弄清楚这一点。(C#不难阅读,花点时间)

哦,我看到您使用的2007,从编程角度使用它不太友好,如果此代码对它不起作用,我认为它仍然可以按照它的方式完成,只需检查对象以及您对此做什么,它可能有些不同。

您可能可以通过工作流进行此操作,但我真的怀疑,至少这并不是特别容易。

我建议将事件接收器添加到列表中,这是我在我需要遵循此模型的几个场合所做的,这对我来说非常成功。

,您可以将项目created(或Itegreating)连接到列表上,以根据模板在列表中添加到模板中创建站点,并且它也是对新站点进行任何配置的选项(可能基于您刚创建的列表项中的值)。您可以通过功能固定来配置它,但是我发现这不那么方便,尤其是当您需要查看新创建的项目的值时。

,如果需要在父列表上编辑项目需要影响子列表,则还可以处理Itemupdupped(或更新)事件。您也可以处理itemDeleted(或删除)如果删除应删除子站点。

您确定要创建这么多站点吗?这不是我建议的,我的意思是想到2年后您从事的行政任务,这些事情往往会变得疯狂。

我认为您应该考虑所有项目的1个网站您仍然可以通过权利等调整一些东西从积极的一面来看,人们会发现一般1个站点中的东西更容易。

好吧,我的几美元,我不得不处理基于项目的坐着,我发现这是一场噩梦。但是,如果您愿意,我不会阻止您,但请确保您也想要。

最新更新