SharePoint 获取Lookup 字段的值

时间:2021-10-08 17:32:20

获取某个List里的Lookup字段的值是很普遍的事,那么我们将它封装起来

获取Lookup字段值的方法:

         /// <summary>
/// To get lookup field Id or Value
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="item"></param>
/// <param name="fieldName"></param>
/// <param name="defaultValue"></param>
/// <param name="getValueType">0:return Id, 1:return Value</param>
/// <returns></returns>
public static T GetLookupField<T>(this SPListItem item, string fieldName, int getValueType, T defaultValue)
{
fieldName = fieldName.Replace(" ", ConstVariables.blankSpicalCode); if (item[fieldName] == null)
{
return defaultValue;
} var itemElements = Regex.Split(item[fieldName].ToString(), ";#", RegexOptions.IgnoreCase); if (itemElements.Length >= )
{
return ConvertTo<T>(itemElements[getValueType], defaultValue);
}
else
{
return defaultValue;
}
}

调用该方法: <oldPlan是SPListItem>
1. 获取Lookup的ID:

oldPlan.GetLookupField<int>(ConstVariables.PRColumns.ColumnStatus, 0, 0);

2. 获取Lookup的Value:

oldPlan.GetLookupField<string>(ConstVariables.AllBGProfileColumns.ColumnBGName, 1, string.Empty)