using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.ComponentModel; using Microsoft.SharePoint; using Microsoft.SharePoint.WebControls; public partial class WSGL_Controls_CreateFolder : System.Web.UI.UserControl { #region 定义变量和属性 private SPSite sps; private SPWeb spw; private SPList list; private SPListItemCollection items; private string folderUrl; /// <summary> /// 文件夹所在的完整路径,如"/dept/gsb/DocLib5/测试" /// </summary> [Category("控件自定义属性")] [Description("新建文件夹父文件夹的路径,如:/dept/gsb/DocLib5/测试")] [Browsable(true)] public string FolderUrl { get { return folderUrl; } set { folderUrl = value; } } private string folderName; /// <summary> /// 文件夹名称 /// </summary> [Category("控件自定义属性")] [Description("新建文件夹的名称")] [Browsable(true)] public string FolderName { get { return folderName; } set { folderName = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { sps = GetWebSite("/" + ConfigurationManager.AppSettings["site"] + "/", this.Context); sps.AllowUnsafeUpdates = true; spw = sps.OpenWeb(); spw.AllowUnsafeUpdates = true; } protected void btnOk_Click(object sender, EventArgs e) { //创建文件夹 CreateFolder(FolderUrl, FolderName); } /// <summary> /// 从配置参数中取得站点 /// </summary> /// <param name="siteurl"></param> /// <param name="Context"></param> /// <returns></returns> public SPSite GetWebSite(string siteurl, System.Web.HttpContext Context) { SPSite s = null; if (siteurl != "" && siteurl != null) { //处理各种地址的写法 if (!siteurl.ToUpper().StartsWith("HTTP"))//如果是相对地址形式 { string thisurl = SPControl.GetContextSite(Context).Url; int index = thisurl.IndexOf("/", 8); if (index > 0)//如果本地址是根目录 { siteurl = thisurl.Substring(0, index) + siteurl; } else//如果本地址不是要站点 { siteurl = thisurl + siteurl; } } s = new SPSite(siteurl); } return s; } #region 创建文件夹 /// <summary> /// 在指定的文档库中创建文件夹 /// </summary> /// <param name="folderUrl"></param> /// <param name="folderName"></param> protected void CreateFolder(string oldfolderUrl, string newfolderName) { SPFolder parent = spw.GetFolder(oldfolderUrl); if (parent.Exists) { list = spw.Lists.GetList(parent.ParentListId, true); SPListItem item = list.Folders.Add(oldfolderUrl, SPFileSystemObjectType.Folder); item["名称"] = newfolderName; item.Update(); } } #endregion }