Sitecore 如何编辑项目的标准字段值
Sitecore how to edit an Items's Standard Field Value
在 Sitecore 中我有一个项目。假设它的名字是 weekDay
。它有一个默认字段(Standard Fields)Sortorder
。我想编辑这个字段并在里面放一个字符串。但是下面的代码给我 System.NullReferenceException: Object reference not set to an instance of an object.
switch (weekDay.Name.ToLower())
{
case "monday":
weekDay.Editing.BeginEdit();
weekDay.Fields["Sortorder"].Value = "1";
weekDay.Editing.EndEdit();
break;
}
我在上面的代码中 weekDay.Fields["Sortorder"].Value = "1";
这一行遇到异常。
任何帮助将不胜感激。谢谢!!
你能检查一下 weekDay 是否为 null 吗?我猜 weekDay 项目是空的
要编辑 weekDay 项目,您将拥有:
if (weekDay!=null)
{
using (new EditContext(weekDay))
{
switch (weekDay.Name.ToLower())
{
case "monday":
weekDay.Fields["__Sortorder"].Value = "1";
break;
}
}
}
你的代码没问题。唯一的问题是该字段不叫 "Sortorder"
,而是叫 "__Sortorder"
。尝试:
weekDay.Fields["__Sortorder"].Value = "1";
大多数 Sitecore 标准字段都带有双下划线前缀,例如__Sortorder
、__Hidden
、__Display Name
、__Read Only
等
大多数标准字段都以__
(双下划线)为前缀,所以字段名实际上是"__Sortorder"
.
weekDay.Fields["__Sortorder"].Value = "1";
// Or use the field ID from Sitecore.FieldIDs class
weekDay.Fields[Sitecore.FieldIDs.Sortorder].Value = "1";
Sitecore.FieldIDs
class 包含许多(如果不是全部)标准字段的字段 ID。
在 Sitecore 中我有一个项目。假设它的名字是 weekDay
。它有一个默认字段(Standard Fields)Sortorder
。我想编辑这个字段并在里面放一个字符串。但是下面的代码给我 System.NullReferenceException: Object reference not set to an instance of an object.
switch (weekDay.Name.ToLower())
{
case "monday":
weekDay.Editing.BeginEdit();
weekDay.Fields["Sortorder"].Value = "1";
weekDay.Editing.EndEdit();
break;
}
我在上面的代码中 weekDay.Fields["Sortorder"].Value = "1";
这一行遇到异常。
任何帮助将不胜感激。谢谢!!
你能检查一下 weekDay 是否为 null 吗?我猜 weekDay 项目是空的
要编辑 weekDay 项目,您将拥有:
if (weekDay!=null)
{
using (new EditContext(weekDay))
{
switch (weekDay.Name.ToLower())
{
case "monday":
weekDay.Fields["__Sortorder"].Value = "1";
break;
}
}
}
你的代码没问题。唯一的问题是该字段不叫 "Sortorder"
,而是叫 "__Sortorder"
。尝试:
weekDay.Fields["__Sortorder"].Value = "1";
大多数 Sitecore 标准字段都带有双下划线前缀,例如__Sortorder
、__Hidden
、__Display Name
、__Read Only
等
大多数标准字段都以__
(双下划线)为前缀,所以字段名实际上是"__Sortorder"
.
weekDay.Fields["__Sortorder"].Value = "1";
// Or use the field ID from Sitecore.FieldIDs class
weekDay.Fields[Sitecore.FieldIDs.Sortorder].Value = "1";
Sitecore.FieldIDs
class 包含许多(如果不是全部)标准字段的字段 ID。