Sitecore 如何检查项目是否具有特定字段

Sitecore How to check if an Item has a certain field

对于 sitecore 项目 testItem,我如何确保该项目具有字段“Title”。

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

因为使用这段代码,我可以知道该字段是否具有某些值。

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

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

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

下面的代码将 return 值,包括字段的标准值或默认值:

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

为了避免多次根据 testItem 检查该字段,您可以强制转换为一个字段,然后:检查该字段是否为 null,它是否有值,然后检索值。

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

例如

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);
}