Sitecore如何编辑项目';s标准字段值

Sitecore如何编辑项目';s标准字段值,sitecore,sitecore7,sitecore7.5,Sitecore,Sitecore7,Sitecore7.5,在Sitecore中,我有一个项目。让我们说它的名字是weekDay。它有一个默认字段(标准字段)Sortorder。我想编辑此字段,并在其中放入一个字符串。但是下面的代码给了我System.NullReferenceException:对象引用未设置为对象的实例。 开关(weekDay.Name.ToLower()) { 案件“星期一”: weekDay.Editing.BeginEdit(); 工作日.字段[“排序器”].Value=“1”; weekDay.Editing.EndEdit(

在Sitecore中,我有一个项目。让我们说它的名字是
weekDay
。它有一个默认字段(标准字段)
Sortorder
。我想编辑此字段,并在其中放入一个字符串。但是下面的代码给了我
System.NullReferenceException:对象引用未设置为对象的实例。

开关(weekDay.Name.ToLower())
{
案件“星期一”:
weekDay.Editing.BeginEdit();
工作日.字段[“排序器”].Value=“1”;
weekDay.Editing.EndEdit();
打破
}
我在这一行
weekDay.Fields[“Sortorder”].Value=“1”上遇到异常在上面的代码中


任何帮助都将不胜感激。谢谢

能否检查工作日是否为空?我猜工作日项目是空的

要编辑工作日项目,您将有:

 if (weekDay!=null)
     {
    using (new EditContext(weekDay))  
     {  
        switch (weekDay.Name.ToLower())
                    {
                        case "monday":
                            weekDay.Fields["__Sortorder"].Value = "1";
                            break;
                     }
       }
      }

你的代码没问题。唯一的问题是,该字段不是名为
“Sortorder”
,而是名为
“\uu Sortorder”
。尝试:

weekDay.Fields[“\uu Sortorder”].Value=“1”;

大多数Sitecore标准字段的前缀都是双下划线,例如,
\uuu排序器
\uu隐藏
\uu显示名称
\uu只读
,等等。

大多数标准字段的前缀都是
\uu排序器(双下划线),因此字段名实际上是
“\uu排序器”

weekDay.Fields[“\uu Sortorder”].Value=“1”;
//或者使用Sitecore.FieldId类中的字段ID
weekDay.Fields[Sitecore.FieldIDs.Sortorder].Value=“1”;

Sitecore.fieldId
类包含许多(如果不是全部的话)标准字段的字段ID。

感谢您的回答,但该项不是空的。我试图编辑一些其他字段(由我添加),我可以访问它没有错误。