2sxc razor 模板 - 显示来自 DNN 用户配置文件字段的数据

2sxc razor template - display data from DNN user profile fields

我有一个内容模块设置为使用 razor 模板,需要它从用户配置文件的字段中提取数据。我可以使用@Dnn.User.Email 格式让它显示姓名、电子邮件等,但我无法获取任何自定义配置文件字段。

我使用帮助代码片段来尝试获得正确的格式 - 转到 "Dnn user information" 下拉菜单,单击配置文件 > AnyValue。它插入了这个:@Dnn.User.Profile.GetPropertyValue(${1:City}\)

我确实有一个城市字段,但该代码破坏了模板。 "error CS1056: Unexpected character '$' at System.Web.Compilation.AssemblyBuilder.Compile()" 是页面上错误消息的开头。

我试图更改结尾 () 中的代码,但我所做的任何更改都无法正常工作。

这不是用于拉取用户配置文件字段的代码吗?我找不到任何其他关于配置文件的文档 - 只有模块、门户、选项卡和用户。

我猜该代码段有问题 - $-syntax 是编辑器的占位符,可让您用 tab-tab-tab 替换文本。

基本上你想要这样的东西:

@Dnn.User.Profile.GetPropertyValue("City")

正如 Joe 指出的那样,任何 DNN API 都可以工作 - Dnn.User 实际上是 DNN 的普通 UserInfo 对象。

如果你想查询用户等,你可以使用 DnnUserProfile 数据源 (https://docs.2sxc.org/api/dot-net/ToSic.Sxc.Dnn.DataSources.DnnUserProfile.html) 创建可视化查询或使用代码,当然你也可以只使用普通的 DNN API.