我有一个继承了
Custom.Hybrid.Razor14
的cshtml文件。我无法更改此继承,因为我需要访问 Kit
属性来更新页面的元标记。我需要访问门户名称。
Dnn 对象仅在继承某些 Dnn 命名空间类的文件/类中可用。
我尝试在 .cs
文件中创建一个单独的文件助手。但我不知道如何从那里访问门户对象以获取其名称。 2sxc 的文档包含大量信息,但对我的案例来说似乎毫无用处,因为我没有成功地在那里找到缺失的信息。
那么我如何从那里访问门户名称?
这是我让它发挥作用的最新尝试。这是一个带有助手的
.cs
文件,我将在继承 .cshtml
的 Custom.Hybrid.Razor14
文件中使用它。
using System;
using System.Globalization;
using ToSic.Razor.Blade;
using ToSic.Sxc.Data;
public class DnnHelper : Custom.Hybrid.CodeTyped//Custom.Dnn.Razor12
{
public string PortalName { get; set; }
public DnnHelper()
{
PortalName = PortalSettings.PortalName; // throws exception as it can't find PortalSettings from here
}
}
我建议您先查看
CmsContext.Site
(或MyContext
中的RazorTyped
)看看是否有您需要的内容。
否则您可以直接获得服务
IDnnContext
,这应该可以让您继续前进。 https://docs.2sxc.org/api/dot-net/ToSic.Sxc.Dnn.Run.IDnnContext.html`