列表删除时,如何获得列表的ID

guohouchang 2009-07-08 10:08:46
如题:
列表库删除一条记录时,如何获得列表的ID

...全文
33 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
guohouchang 2009-07-10
  • 打赏
  • 举报
回复
答案答案 答案答案 答案答案
龙翔飞雪 2009-07-08
  • 打赏
  • 举报
回复
自定义一个EventReceiver, 继承SPItemEventReceiver, (说穿了, 就是部署一个feature, 给该list添加事件)
(如果没做过这方面的程序的话, 可以查MSDN, SPItemEventReceiver)

然后override下面这个方面:
public override void ItemDeleting(SPItemEventProperties properties)


该方法的properties可以拿到很多信息, 包括将要删除的 item所有信息, item所属list的所有信息, list所属web的所有信息, 等等.
  • 打赏
  • 举报
回复
同意楼上的,properties的有属性,可以取的List然后取得List的ID
kaukiyou 2009-07-08
  • 打赏
  • 举报
回复
是List的哪个deleting事件.
list的id, properties里面直接可以取到ListID.

[Quote=引用 5 楼 guohouchang 的回复:]
不是的.是用户点了删除.我要取得用户刚删除的那条记录
[/Quote]
guohouchang 2009-07-08
  • 打赏
  • 举报
回复
不是的.是用户点了删除.我要取得用户刚删除的那条记录
龙翔飞雪 2009-07-08
  • 打赏
  • 举报
回复
Guid guid = list.Recycle();
你程序里这步是为了做什么?? 为什么要把整个list删除呢??
龙翔飞雪 2009-07-08
  • 打赏
  • 举报
回复
Guid guid = list.Recycle();
你程序里这步是为了做什么?? 为什么要把整个list删除呢??
guohouchang 2009-07-08
  • 打赏
  • 举报
回复
这个方法试过.在这个事件里,获得的列表已经不存在了~(因为已经发送到回收站里了)


public override void ItemDeleting(SPItemEventProperties properties)
{

try
{
SPSecurity.RunWithElevatedPrivileges(() =>
{
using (SPSite site = new SPSite(properties.SiteId))
{
using (SPWeb web = site.OpenWeb(properties.RelativeWebUrl))
{
SPList list = web.Lists[properties.ListId];

// string str = Convert.ToString(properties.BeforeProperties[list.Fields["信息管理"].InternalName]);

SPListItem item = list.GetItemById(properties.ListItemId);
Guid guid = list.Recycle();
//SPRecycleBinItemCollection xx = web.RecycleBin;
//SPListItemCollection items = web.Lists[list.Title].Items;
}
}
}
);
base.ItemDeleting(properties);
}
catch (Exception ex)
{
this.Error(ex.StackTrace+ex.Message);
}
}

3,242

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 SharePoint
社区管理员
  • SharePoint社区
  • 霖雨
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧