2013-10-24 96 views
-2

如何從我的自定義列表中獲取人員,並在創建的子網站上向他們授予許可。從自定義列表中獲取人

public override void ItemAdded(SPItemEventProperties properties) 
     { 

      base.ItemAdded(properties); 

我知道我需要從這個屬性得到它,但我不知道如何。 閱讀約20個博客,不能從這裏找到。

  string subsitefirst = properties.ListItem["firstSub"].ToString(); 
      string subsitesecond = properties.ListItem["secondSub"].ToString(); 


      //take 1st and 2nd fields name and create with them subsites. 
      if (string.IsNullOrEmpty(subsitefirst) && string.IsNullOrEmpty(subsitesecond)) 
      { 
       return; 
      } 
      else 
      { 
       using (SPSite site = new SPSite("http://sw-mss-01:23222/Worker1/")) 
       { 
        using (SPWeb web = site.OpenWeb()) 
        { 
         try 
         { 
          //SPListItem listpeople = web.GetListItem 
          web.AllowUnsafeUpdates = true; 
          SPWeb newWeb = site.AllWebs.Add("worker1/" + subsitefirst, subsitefirst, "Site description", 1033, "STS#0", false, false); 
          SPWeb newSecondWeb = site.AllWebs.Add("worker1/" + subsitefirst + "/" + subsitesecond, subsitesecond, "Site description", 1033, "STS#0", false, false); 

         } 
         catch (Exception) 
         { 
          web.AllowUnsafeUpdates = false; 
         } 

        }` 
       } 
      } 
     } 
} 
+1

看起來你已經有了一些代碼。你應該提到這是關於SharePoint的。你想告訴我們一些關於你在這裏的代碼嗎?除了它爲SharePoint編寫的事實之外,它似乎與您的文章沒有任何關係。 – tnw

+0

hm。這是事件接收器。當有人在我的自定義列表中添加行時,他會調用添加的事件。 'string subsitefirst = properties.ListItem [「firstSub」]。ToString();' 第一和第二個字段需要創建子網站。第3場需要授予該組中的用戶權限。 –

+0

與您的問題沒有關係,但請將該「catch」更改爲「finally」 –

回答

0
string domainUserName = properties.ListItem["user"].ToString(); 
string groupName = "site members"; // Use the group name you want to add the user to 
SPUser user = newWeb.EnsureUser(domainUserName); 
SPGroup group = newWeb.Groups[groupName]; 
group.AddUser(user); 
// Rinse and repeat for the second web 
相關問題