c# – Sitecore字段ID与字段名称相对应
作者:互联网
我在“专业Sitecore开发”一书中读到了 – 约翰·韦斯特说,最好的做法是在获取项目字段值时使用字段ID代替字段名称.
但是像sc:text,sc:link,sc:image等的sitecore控件有一个名为field的属性,它使用字段名称.所以,我现在很困惑是将整个项目更改为Field ID,还是将字段名称保留为与sitecore使用一致.
任何建议将不胜感激.
解决方法:
是的,Sitecore允许您使用名称和ID.此外,Sitecore允许您在同一模板中具有相同的字段名称,这可能会导致一些混淆.当然,ID不能重复.
我相信使用ID代替名称更可靠.可以在Sitecore上轻松更改名称,并且在发生这种情况时很难找到错误.在有人注意到字段值不存在之前,您不会收到编译错误或类似错误.
一种好的方法是使用代码生成器(如T4或TDS)来创建要在代码中使用的强类型类.就像是:
public static struct MyTemplate
{
public static struct MyGroup1
{
public static readonly ID Foo = new ID("{1111111-1111-1231-1231-12312323132}");
}
public static struct MyGroup2
{
public static readonly ID Foo = new ID("{9999999-9999-xxxx-1231-12312323132}");
}
}
然后你按照控制方式进行操作:
@Html.Sitecore().Field(MyTemplate.MyGroup.Foo); //where foo returns the id.
希望有所帮助..
标签:c,sitecore,sitecore6,sitecore-dms 来源: https://codeday.me/bug/20190717/1491196.html