前段时间做一个WSS的网站,客户希望在主页面可以动态创建/删除一个子网站.也就是说,要用代码去创建/删除一个子网站,样式如下:

动态创建/删除子网站

通过在Google和SDK找了一些资料.感觉不是很难,下面和大家分享一下过程:

1.需要创建一个网站模板(为了让所有子网站风格统一)

  • 首先创建一个子网站,选择Team site类型作为模板. 
  • 更改子网站的样式,根据你的需求
  • 把这个子网站另存为模板.

2. 用代码创建网站:

 

 SPSite(SPContext.Current.Site.ID);

                //Get Custom Template
                mySite.AllowUnsafeUpdates = true;
                SPWebTemplateCollection CustomTemplates 
= mySite.GetCustomWebTemplates(uint.Parse(mySite.RootWeb.Locale.LCID.ToString()));
                SPWebTemplate baseTemplate 
= null;

                
if (CustomTemplates.Count > 0 && CustomTemplate != string.Empty)
                {
                    baseTemplate 
= CustomTemplates[CustomTemplate];
                }
                
else
                {
                    LErrMessage.Text 
= "Please configuration user-defined template";
                    
return;
                }

                
//SPWeb rootWeb = site.RootWeb;
                if (strProjectUrl != string.Empty && baseTemplate != null)
                {
                    
//create a new Project
                    NewWeb = mySite.AllWebs.Add(mySite.RootWeb.ServerRelativeUrl.ToString() + "/" + strProjectUrl, txtProjectBox.Text, ""uint.Parse(mySite.RootWeb.Locale.LCID.ToString()), baseTemplate, falsefalse);
                    NewWeb.Navigation.UseShared 
= true;
                    NewWeb.Update();
                    mySite.AllowUnsafeUpdates 
= false;
                }

 

3.为了识别创建的子网站,可以在左边导航(QuickLaunch)里面添加一个New Heading(English版本这样叫,中文sharepoint我不知道叫什么).然后在web part里面获取它下面的links所对应的子网站.可以通过代码去删除子网站:

 

()
               {
                   ListItem sItem = drpProjects.SelectedItem;

                   MySite 
= new SPSite(SPContext.Current.Site.ID);
                   MySite.AllowUnsafeUpdates 
= true;
                   MySite.RootWeb.AllowUnsafeUpdates 
= true;

                   
//delete Project
                   string strUrl = sItem.Value.ToLower().Replace("/default.aspx""");
                   delWeb 
= MySite.OpenWeb(strUrl);

                   delWeb.AllowUnsafeUpdates 
= true;

                   delWeb.Delete(); 
// delete Project site

                   delWeb.AllowUnsafeUpdates 
= false;

                   MySite.RootWeb.AllowUnsafeUpdates 
= false;
                   MySite.AllowUnsafeUpdates 
= false;
               });

 

通过上面三个步骤,我们就可以很容易用代码创建/删除网站.

相关文章:

  • 2021-11-30
  • 2021-10-31
  • 2022-12-23
  • 2021-10-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-29
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-07
  • 2022-02-09
  • 2021-09-01
相关资源
相似解决方案