出于某种原因,当它停止工作时我正在使用事件接收器。我正在更新它并从Visual Studio 2010进行部署,它以前正在工作但是当我在查找字段时它停止了。即使我删除了刚刚添加的部分,它也不再工作了。有任何想法吗。谢谢。
`/// An item was added.
/// </summary>
public override void ItemAdded(SPItemEventProperties properties)
{
base.ItemAdded(properties);
string fname = Convert.ToString(properties.AfterProperties["Title"]);
string Cdate = Convert.ToString(properties.AfterProperties["CDate"]).Substring(2, 2);
// ---- Lookup fields -----
String lookupZF = "Office";
String ZF = Convert.ToString(properties.ListItem[lookupZF]);
SPFieldLookupValue ZFValue = new SPFieldLookupValue(ZF);
// ------ End of lookup fields -----
string FName = fname + Cdate; // + ZFValue;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(properties.Web.Site.ID))
{
using (SPWeb web = site.OpenWeb())
{
web.AllowUnsafeUpdates = true;
SPList CurrentList = web.Lists[properties.ListId];
SPListItem Litem = CurrentList.GetItemById(properties.ListItemId);
Litem["Description"] = "update working ...!";
Litem["Prop No."] = FName;
Litem.Update();
CurrentList.Update();
web.AllowUnsafeUpdates = false;
}
}
});
}`
答案 0 :(得分:0)
我建议您在部署解决方案后检查管理网站功能中是否已激活该功能。
答案 1 :(得分:0)
我不得不使用dateTime然后获得年份。由于某种原因,我得到空或空字符串,停止执行代码。这是有效的:
DateTime Cdate = DateTime.Parse(properties.ListItem["Created"].ToString());
string SDate = Cdate.Year.ToString().Substring(2, 2);