需要Sharepoint工作流中的帮助吗
我是sharepoint开发新手,手头有任务要做。我需要为以下逻辑添加几行代码需要Sharepoint工作流中的帮助吗,sharepoint,sharepoint-2010,Sharepoint,Sharepoint 2010,我是sharepoint开发新手,手头有任务要做。我需要为以下逻辑添加几行代码 需要检查任务项的以前标题和新标题是否相同 如果没有,则查询任务列表 查找包含上一个标题的所有项目 更新他们的标题 这是我的伪代码: public override void ItemUpdating(SPItemEventProperties properties) { try { this.DisableEventFiring(); //Need to write my logic
public override void ItemUpdating(SPItemEventProperties properties)
{
try {
this.DisableEventFiring();
//Need to write my logic here
base.ItemUpdating(properties);
}
catch (Exception ex) {
}
finally {
this.EnableEventFiring();
}
}
有人能指导我如何为上述逻辑编写代码吗?如果您有任何类似逻辑的示例代码,请共享。这对我会有帮助的
提前谢谢 此代码可能对您有所帮助。也许您需要根据自己的需要对其进行调整,但是您需要访问的属性是相同的
public override void ItemUpdating(SPItemEventProperties properties)
{
//this will get your title before updating
var oldName = properties.ListItem["Title"].ToString();
//and this will get the new title
var newName = properties.AfterProperties["Title"].ToString();
if (newName != oldName)
{
using (var site = new SPSite("http://yoursitename"))
using (var web = site.OpenWeb())
{
var list = web.Lists["Tasks"];
var items = list.Items.OfType<SPListItem>().Where(i => (string) i["Title"] == oldName);
foreach (var item in items)
{
item["Title"] = newName;
item.Update();
}
}
}
base.ItemUpdating(properties);
}
公共覆盖无效项更新(SPItemEventProperties属性)
{
//这将在更新之前获取您的标题
var oldName=properties.ListItem[“Title”].ToString();
//这将得到新的标题
var newName=properties.AfterProperties[“Title”].ToString();
如果(新名称!=旧名称)
{
使用(var站点=新SPSite(“http://yoursitename"))
使用(var web=site.OpenWeb())
{
var list=web.list[“任务”];
var items=list.items.OfType()。其中(i=>(string)i[“Title”]==oldName);
foreach(项目中的var项目)
{
项目[“标题”]=新名称;
item.Update();
}
}
}
基本项目更新(属性);
}
此代码可能对您有所帮助。也许您需要根据自己的需要对其进行调整,但是您需要访问的属性是相同的
public override void ItemUpdating(SPItemEventProperties properties)
{
//this will get your title before updating
var oldName = properties.ListItem["Title"].ToString();
//and this will get the new title
var newName = properties.AfterProperties["Title"].ToString();
if (newName != oldName)
{
using (var site = new SPSite("http://yoursitename"))
using (var web = site.OpenWeb())
{
var list = web.Lists["Tasks"];
var items = list.Items.OfType<SPListItem>().Where(i => (string) i["Title"] == oldName);
foreach (var item in items)
{
item["Title"] = newName;
item.Update();
}
}
}
base.ItemUpdating(properties);
}
公共覆盖无效项更新(SPItemEventProperties属性)
{
//这将在更新之前获取您的标题
var oldName=properties.ListItem[“Title”].ToString();
//这将得到新的标题
var newName=properties.AfterProperties[“Title”].ToString();
如果(新名称!=旧名称)
{
使用(var站点=新SPSite(“http://yoursitename"))
使用(var web=site.OpenWeb())
{
var list=web.list[“任务”];
var items=list.items.OfType()。其中(i=>(string)i[“Title”]==oldName);
foreach(项目中的var项目)
{
项目[“标题”]=新名称;
item.Update();
}
}
}
基本项目更新(属性);
}