我有两个列表,我想在第一个列表中添加新项目时更新第二个列表.我使用以下代码但没有任何反应.
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();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想复制第一个列表中我当前添加的第二个列表中的新项目.任何帮助都会很棒,在此先感谢.
如果你想获得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;
}
Run Code Online (Sandbox Code Playgroud)
有一件事你应该用itemadded而不是itemadding.它很容易通过当前id获得listitem.
SPList objlist = objweb.Lists[properties.ListTitle];
SPListItem liCaseID = objlist.Items.GetItemById(properties.ListItemId);
//your excute your code.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18806 次 |
| 最近记录: |