속성 제목 이름 이후 또는 이전 항목 업데이트 된 이벤트는 null입니다.

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/42465

  •  09-12-2019
  •  | 
  •  

문제

제가 무엇을하든, 제목 전과 후에 항상 null이 아닙니다. 이것은 회의 또는 이벤트 목록에있는 항목 업데이트 된 수신기

![public override void ItemUpdated(SPItemEventProperties properties)
        {
            Logger.LogDebug("MeetingCalendarEvents", "ItemUpdated(SPItemEventProperties properties)", "BEGIN");
            base.ItemUpdated(properties);
            try
            {
                base.EventFiringEnabled = false;
                SPSite site = properties.Web.Site;
                string sitename= properties.BeforeProperties\["Title"\].ToString();
                SPWeb web = site.RootWeb.Webs\[sitename\];
                web.AllowUnsafeUpdates = true;
                string prefix = properties.BeforeProperties\["Title"\].ToString().Substring(0, 2);
                web.Title = properties.AfterProperties\["Title"\].ToString();
                DateTime eventDate = properties.AfterProperties.GetValueAsDateTime(MeetingsCommon.Constants.FIELDS_EVENTDATE_NAME);
                if (eventDate != DateTime.MinValue)
                {
                    string titleMeetingCalendarItem = eventDate.ToString("yyyyMMdd");
                    titleMeetingCalendarItem = string.Format("{0}{1}", prefix, titleMeetingCalendarItem);
                    properties.AfterProperties.SetAfterPropertyValue("Title", titleMeetingCalendarItem);
                    web.ServerRelativeUrl = "/" + titleMeetingCalendarItem;               
                }
                web.Update();

                web.AllowUnsafeUpdates = false;
                base.EventFiringEnabled = true;
            }
            catch (Exception ex)
            {
                Logger.LogError("MeetingCalendarEvents", "ItemUpdated(SPItemEventProperties properties)", ex);
                properties.ErrorMessage = ex.Message;
                properties.Cancel = true;
            }
            finally
            {
                base.EventFiringEnabled = true;
            }
            Logger.LogDebug("MeetingCalendarEvents", "ItemUpdated(SPItemEventProperties properties)", "END");
        }][1]
.

도움이 되었습니까?

해결책

itemUpdated 이벤트 대신 ItemUpdating을 사용하려고 시도해야합니다.itemUpdated 이벤트에서는 특성 및 후에 속성이 아닙니다!업데이트하는 동안에 만 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top