using System;<br />using System.Data;<br />using System.Configuration;<br />using System.Collections;<br />using System.Web;<br />using System.Web.Security;<br />using System.Web.UI;<br />using System.Web.UI.WebControls;<br />using System.Web.UI.WebControls.WebParts;<br />using System.Web.UI.HtmlControls;<br />using System.ComponentModel;<br />using Microsoft.SharePoint;<br />using Microsoft.SharePoint.WebControls;</p><p>public partial class WSGL_Controls_CreateFolder : System.Web.UI.UserControl<br />{<br /> #region 定義變數和屬性</p><p> private SPSite sps;<br /> private SPWeb spw;<br /> private SPList list;<br /> private SPListItemCollection items;</p><p> private string folderUrl;<br /> /// <summary><br /> /// 檔案夾所在的完整路徑,如"/dept/gsb/DocLib5/測試"<br /> /// </summary><br /> [Category("控制項自訂屬性")]<br /> [Description("建立檔案夾父資料夾的路徑,如:/dept/gsb/DocLib5/測試")]<br /> [Browsable(true)]<br /> public string FolderUrl<br /> {<br /> get<br /> {<br /> return folderUrl;<br /> }<br /> set<br /> {<br /> folderUrl = value;<br /> }<br /> }</p><p> private string folderName;<br /> /// <summary><br /> /// 檔案夾名稱<br /> /// </summary><br /> [Category("控制項自訂屬性")]<br /> [Description("建立檔案夾的名稱")]<br /> [Browsable(true)]<br /> public string FolderName<br /> {<br /> get<br /> {<br /> return folderName;<br /> }<br /> set<br /> {<br /> folderName = value;<br /> }<br /> }<br /> #endregion</p><p> protected void Page_Load(object sender, EventArgs e)<br /> {<br /> sps = GetWebSite("/" + ConfigurationManager.AppSettings["site"] + "/", this.Context);<br /> sps.AllowUnsafeUpdates = true;<br /> spw = sps.OpenWeb();<br /> spw.AllowUnsafeUpdates = true;<br /> }<br /> protected void btnOk_Click(object sender, EventArgs e)<br /> {<br /> //建立檔案夾<br /> CreateFolder(FolderUrl, FolderName);<br /> }</p><p> /// <summary><br /> /// 從配置參數中取得網站<br /> /// </summary><br /> /// <param name="siteurl"></param><br /> /// <param name="Context"></param><br /> /// <returns></returns><br /> public SPSite GetWebSite(string siteurl, System.Web.HttpContext Context)<br /> {</p><p> SPSite s = null;<br /> if (siteurl != "" && siteurl != null)<br /> {<br /> //處理各種地址的寫法<br /> if (!siteurl.ToUpper().StartsWith("HTTP"))//如果是相對位址形式<br /> {<br /> string thisurl = SPControl.GetContextSite(Context).Url;<br /> int index = thisurl.IndexOf("/", 8);<br /> if (index > 0)//如果本地址是根目錄<br /> {<br /> siteurl = thisurl.Substring(0, index) + siteurl;<br /> }<br /> else//如果本地址不是要網站<br /> {<br /> siteurl = thisurl + siteurl;<br /> }</p><p> }<br /> s = new SPSite(siteurl);<br /> }</p><p> return s;<br /> }</p><p> #region 建立檔案夾<br /> /// <summary><br /> /// 在指定的文件庫中建立檔案夾<br /> /// </summary><br /> /// <param name="folderUrl"></param><br /> /// <param name="folderName"></param><br /> protected void CreateFolder(string oldfolderUrl, string newfolderName)<br /> {<br /> SPFolder parent = spw.GetFolder(oldfolderUrl);<br /> if (parent.Exists)<br /> {<br /> list = spw.Lists.GetList(parent.ParentListId, true);<br /> SPListItem item = list.Folders.Add(oldfolderUrl, SPFileSystemObjectType.Folder);<br /> item["名稱"] = newfolderName;<br /> item.Update();<br /> }<br /> }<br /> #endregion<br />}<br />