内容选择器 Return 空
ContentPicker Return null
我正在尝试使用我的 ContentPicker 获取选定的内容,但是当我调试代码时。它只是 returns 我的 ContentPicker 中的一个 null。
我的文档类型
ContactPerson.cs
using System.Linq;
using umbraco.controls;
using Umbraco.Core.Models;
using Umbraco.Site.Extensions.Extensions;
using Umbraco.Site.Extensions.Models.Media;
using Umbraco.Web;
namespace Umbraco.Site.Extensions.Models.DocumentTypes.Grid
{
public class ContactPerson
{
public ContentPicker contentPicker { get; set; }
public ContactPerson(IPublishedContent content)
{
contentPicker = content.GetPropertyValue<ContentPicker>("contactPersonPicker");
}
}
}
ContactPerson.cshtml
@using Umbraco.Site.Extensions.Models.DocumentTypes.Grid
@inherits UmbracoTemplatePage
@{
Layout = null;
ContactPerson cp = new ContactPerson(Model.Content);
string s = "s";
}
<div>test</div>
注意:我有字符串 s 的唯一原因是为了调试。
ContentPicker 默认 returns 所选内容节点的 ID。尝试先获取字符串并查看值是否存在。如果不是 - 重新发布内容或整个网站以强制 XML 缓存重建。
因此,将其映射到 ContentPicker class 并不是那么明显,它需要额外的属性,主要集中在 属性 编辑器上,而不是值本身。
ContentPicker 的基本用法在这里:https://our.umbraco.org/documentation/getting-started/backoffice/property-editors/built-in-property-editors/content-picker。关于它,我一开始就写在上面。
我还可以建议您使用(甚至可以通过 NuGet 安装)Umbraco Core 属性 Value Converters 包:https://our.umbraco.org/projects/developer-tools/umbraco-core-property-value-converters。它计划将其包含在 Umbraco 核心中,它基本上是将常见数据类型的值映射到更方便和可用的类型,例如ContentPicker 值将是所选文档的 IPublishedContent 模型,准备就绪且易于在所选文档中使用。
我正在尝试使用我的 ContentPicker 获取选定的内容,但是当我调试代码时。它只是 returns 我的 ContentPicker 中的一个 null。
我的文档类型
ContactPerson.cs
using System.Linq;
using umbraco.controls;
using Umbraco.Core.Models;
using Umbraco.Site.Extensions.Extensions;
using Umbraco.Site.Extensions.Models.Media;
using Umbraco.Web;
namespace Umbraco.Site.Extensions.Models.DocumentTypes.Grid
{
public class ContactPerson
{
public ContentPicker contentPicker { get; set; }
public ContactPerson(IPublishedContent content)
{
contentPicker = content.GetPropertyValue<ContentPicker>("contactPersonPicker");
}
}
}
ContactPerson.cshtml
@using Umbraco.Site.Extensions.Models.DocumentTypes.Grid
@inherits UmbracoTemplatePage
@{
Layout = null;
ContactPerson cp = new ContactPerson(Model.Content);
string s = "s";
}
<div>test</div>
注意:我有字符串 s 的唯一原因是为了调试。
ContentPicker 默认 returns 所选内容节点的 ID。尝试先获取字符串并查看值是否存在。如果不是 - 重新发布内容或整个网站以强制 XML 缓存重建。
因此,将其映射到 ContentPicker class 并不是那么明显,它需要额外的属性,主要集中在 属性 编辑器上,而不是值本身。
ContentPicker 的基本用法在这里:https://our.umbraco.org/documentation/getting-started/backoffice/property-editors/built-in-property-editors/content-picker。关于它,我一开始就写在上面。
我还可以建议您使用(甚至可以通过 NuGet 安装)Umbraco Core 属性 Value Converters 包:https://our.umbraco.org/projects/developer-tools/umbraco-core-property-value-converters。它计划将其包含在 Umbraco 核心中,它基本上是将常见数据类型的值映射到更方便和可用的类型,例如ContentPicker 值将是所选文档的 IPublishedContent 模型,准备就绪且易于在所选文档中使用。