【问题标题】:Item Adding in event receiver sharepoint 2010在事件接收器共享点 2010 中添加项目
【发布时间】:2014-06-09 18:49:31
【问题描述】:
 public override void ItemAdding(SPItemEventProperties properties)
       {
           base.ItemAdding(properties);
           SPItem itemBeingAdded = properties.ListItem;
           var startTime = itemBeingAdded["Start Time"];
           // Some code goes here.
       }

我在日历列表中添加项目时触发此事件。它正在被解雇。没问题。但我没有从properties 获得任何价值。在上面的代码中startTime 什么也没给我。实际上,我想访问正在添加的项目的列字段(在我的情况下为properties)。

当用户单击保存按钮时,我如何在后面的代码中获取列值(在ItemAdding(SPItemEventProperties properties) method 内)。比方说,我需要 Start TimeEnd Time 将它们与其他一些值进行比较。问题出在ItemAdding 方法中。 ItemUpdating 工作正常。

public override void ItemUpdating(SPItemEventProperties properties)
       {

           base.ItemUpdating(properties);
           SPItem itemBeingAdded = properties.ListItem;
           var startTime = itemBeingAdded["Start Time"];
       }

【问题讨论】:

  • 你检查过SPItemEventProperties的内容吗?是否有带有"Start Time" 键的条目?字段的内部名称可能与表单中显示的名称不同。
  • 感谢您的回复。我将尝试使用内部名称。
  • 结果和以前一样。内部名称也不起作用。
  • 您是否使用调试器的watch capability 检查了SPItemEventProperties 的内容?

标签: c# sharepoint sharepoint-2007 event-receiver


【解决方案1】:

最后,我得到了here 的答复。方式就像跟随

string message = properties.AfterProperties["Description"].ToString();

另一件事是您应该使用内部名称。就我而言,显示名称不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-03
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 2017-07-15
    • 1970-01-01
    相关资源
    最近更新 更多