1
我對SharePoint非常陌生,並且一直在做這件事情幾天。我能夠以某種方式使用ItemAdded事件接收器,但我想如果我更新列表1然後使用ItemUpdated事件接收器列表2也應該得到更新。 我正在努力編碼部分。如何鏈接一個列表中的項目與另一個列表,然後如何更新。如何使用SharePoint中的ItemUpdated事件接收器更新另一個列表?
我對SharePoint非常陌生,並且一直在做這件事情幾天。我能夠以某種方式使用ItemAdded事件接收器,但我想如果我更新列表1然後使用ItemUpdated事件接收器列表2也應該得到更新。 我正在努力編碼部分。如何鏈接一個列表中的項目與另一個列表,然後如何更新。如何使用SharePoint中的ItemUpdated事件接收器更新另一個列表?
以下是一個「ItemAdded」事件示例 - 您的itemupdating事件可以類似於此操作。在這個例子中,一個新的項目被添加到我的「任務」列表中的任何時間,事件接收器增加了一個類似的項目,以我的「技能和能力」的文章:
// ITEM ADDED
public override void ItemAdded(SPItemEventProperties properties)
{
base.ItemAdded(properties);
try
{
String curListName = properties.ListTitle;
if (_applicableLists.Contains(curListName))
{
if (properties.ListItem.ContentType.Name == "Discussion")
{
if (curListName == "Tasks")
{
SPList saList = properties.Web.Lists["Skills & Abilities"];
SPListItem saItem = SPUtility.CreateNewDiscussion(saList, properties.ListItem["Task Text"].ToString());
SPFieldLookupValue taskLookup = new SPFieldLookupValue();
taskLookup = new SPFieldLookupValue(properties.ListItem.ID, (string)properties.AfterProperties["Task ID"]);
saItem["Task Lookup"] = taskLookup;
saItem["Title"] = properties.ListItem["Task Text"].ToString();
saItem["Body"] = "Please leave a comment by clicking the Reply link on the right of this message.";
saItem[_inStatus] = "New";
// perform the update with event firing disabled
EventFiringEnabled = false;
saItem.Update();
EventFiringEnabled = true;
}
}
}
}
catch (Exception ex)
{
// handle exception...
}
}
我也勸你簽出的SharePoint .stackexchange.com網站專注於SharePoint。祝你好運!
你的ItemUpdated事件接收器到目前爲止你有什麼代碼? – mikey 2013-02-21 05:45:38
我可以分享ItemAdded代碼。 ItemUpdated之一太亂了。 base.ItemAdded(properties); try {base.EventFiringEnabled = false; (SPWeb web = site.OpenWeb()) {SPList list = web.Lists [「Cust_3」];使用(SPSite site = properties.OpenSite()) { SPItem item = list.Items.Add(); item [「Title」] = properties.ListItem [「Title」]; item [「Col1」] = properties.ListItem [「Col1」]; item [「Col2」] = properties.ListItem [「Col2」]; item.Update(); }}} – Amit 2013-02-21 05:52:45