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