Sitecore如何检查Item是否具有某个字段

时间:2016-01-25 15:11:30

标签: c# sitecore sitecore7.2

对于sitecore项目testItem,如何确保此项目包含“Title”字段。

我在问,因为我正在以编程方式在项目模板中创建一些字段。因此,如果字段已存在,则不应再次创建该字段。

因为使用此代码,如果字段有某些值,我可以得到。

testItem["Title"] 
testItem.Fields["Title"] 

3 个答案:

答案 0 :(得分:6)

请检查此代码,您正在检查项目,字段集合和字段值是否为空

if(testItem!= null && testItem.Fields != null && testItem.Fields["Value"] != null)
{
  string name = testItem.Fields["Title"].Value;
}

答案 1 :(得分:2)

以下代码将返回值,包括字段的标准值或默认值:

        if (testItem.Fields["Title"] != null && testItem.Fields["Title"].HasValue)
        {
            string title = testItem["Title"].Value;
        }

答案 2 :(得分:0)

要保存必须多次针对 testItem 检查字段,可以转换为字段然后:检查字段是否为null,它是否有值,然后检索该值。

这里的优点是,如果您需要在多个地方访问该字段,则不必每次都从 testItem 进行检索。

e.g。

Field titleField = testItem.Fields["Title"];

if (titleField != null && titleField.HasValue)
{
    //do something with value
    string fieldValue1 = titleField.Value;

    //or (see intellisense for params)
    string fieldValue2 = titleField.GetValue(true);
}