如何在SharePoint中获取列表的值?

时间:2012-01-24 08:51:49

标签: c# sharepoint list

我创建了一个日历列表,并在列表中添加了几列。现在我想从日历列表中检索特定列表项的值。 列表名称 - >
日历 字段 - >  节目名称,开始日期,结束日期,辅导员,总座位等....

我想单独追溯“总座位”的价值。

namespace CourseCount.EventReceiver1 
{ 
  public override void ItemAdded(SPItemEventProperties properties) 
  { 
    base.ItemAdded(properties); 
    SPSite oSiteCollection = SPContext.Current.Site; 
    SPWeb myWeb = SPContext.Current.Web; 
    SPList spList = myWeb.Lists["Calendar"]; 
    SPListItemCollection spListItemCollection = spList.Items;
    SPListItem item = spListItemCollection.Add(); 
    int count = item["Total Seat"]; // <-here is my doubt 
  } 
} 

3 个答案:

答案 0 :(得分:3)

我想您想要从触发事件接收器的项目中读取 Total Seat 字段。您可以通过SPListItem

访问SPItemEventProperties
public override void ItemAdded(SPItemEventProperties properties)
{
  int totalSeal = (int)properties.ListItem["Total Seat"];
  // ...
}

答案 1 :(得分:1)

您是否使用过调试器? 参考你的第二条评论,我只是会做一点不同,因为我怀疑这会没有问题。但如果你以前的电话没有任何转换成功,那也应该是这样。 您需要确定的是此列存在。

int count = Convert.ToInt32(item["Total Seal"].ToString());

答案 2 :(得分:1)

虽然这个问题是几个月前...我已经解决了类似的问题,并得到了一个解决方案,我想在这里分享。在我的代码示例中,我将类型为数字的SPCalculatedField中的值提取到float变量中。我想你也可以用它来解决你的问题。变量项的类型为SPListItem。函数GetFormattedValue随SharePoint API一起提供。

float count;
bool success = float.TryParse(item.GetFormattedValue("Total Seat"), out count);