Sharepoint 2010 Event Receiver Item Добавление и обновление в другом списке - PullRequest
0 голосов
/ 22 марта 2012

У меня есть два списка, я хотел обновить второй список при добавлении нового элемента в первый.Я использую следующий код, но ничего не происходит.

     public override void ItemAdding(SPItemEventProperties properties)
      {
        base.ItemAdding(properties);
        string MenuList = properties.ListTitle;

        if (MenuList == "Menu")
        {
            string mySiteUrl = "http://rizwan-pc";
            using (SPSite mysiteCollection = new SPSite(mySiteUrl))
            {
                using (SPWeb mySite = mysiteCollection.RootWeb)
                {
                    string title = properties.ListItem["Title"].ToString();

                    SPList Menu_lookUp = mySite.Lists["Menu LookUp"];
                    SPListItem newListItem = Menu_lookUp.Items.Add();
                    newListItem["Applicable"] = title;
                    newListItem.Update();
                }
            }
        }
    }

Я хотел скопировать новый элемент во второй список, который я в настоящее время добавил в первый список.любая помощь будет здорово, заранее спасибо.

1 Ответ

6 голосов
/ 22 марта 2012

если вы хотите использовать заголовок списка, чем вы можете попробовать это:

это хорошая привычка использовать свойства в вашем коде для получения сайта или сети:

 using(SPWeb objweb = properties.openweb())
 {
  string title = convert.ToString(properties.AfterProperties["Title"]);
  objweb.AllowUnsafeUpdates = true;
  SPList Menu_lookUp = mySite.Lists["Menu LookUp"];
  SPListItem newListItem = Menu_lookUp.Items.Add();
  newListItem["Applicable"] = title;
  newListItem.Update();
  objweb.AllowUnsafeUpdates = false;
 }

одна вещьчто вы должны использовать itemadded вместо itemadding.его легко получить по текущему идентификатору.

  SPList objlist = objweb.Lists[properties.ListTitle];
  SPListItem liCaseID =   objlist.Items.GetItemById(properties.ListItemId);
  //your excute your code.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...