我有两个列表,我想在第一个列表中添加新项目时更新第二个列表。 我使用以下代码但没有任何反应。
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();
}
}
}
}
我想复制第一个列表中我当前添加的第二个列表中的新项目。 任何帮助都会很棒,提前谢谢。
答案 0 :(得分:6)
如果你想获得listitem的标题,你可以试试这个:
在代码中使用属性获取网站或网站的好习惯:
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.