You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在2sxc中获取并输出DNN页面的Large Icon?

解决方案

可以实现这个需求,问题在于2sxc的ICmsPage是跨CMS的抽象接口,并没有封装DNN特有的LargeIcon属性,需要直接调用DNN的原生API来获取页面设置里的图片:

  • 首先通过DNN的TabController获取当前页面的原生TabInfo对象,它包含DNN页面设置的所有属性
  • 从TabInfo对象中读取LargeIcon属性,就是管理员设置的横幅图片路径

示例Razor代码:

@using DotNetNuke.Entities.Tabs
@{
    // 获取当前DNN页面的原生对象
    var dnnPage = TabController.Instance.GetTab(CmsContext.Page.Id);
    // 读取LargeIcon路径,空值判断避免报错
    var bannerImageUrl = dnnPage?.LargeIcon;
}

@if (!string.IsNullOrEmpty(bannerImageUrl))
{
    <img src="@bannerImageUrl" alt="页面横幅" />
}

如果需要处理图片路径的绝对URL转换(比如相对路径转绝对路径),可以额外使用DNN的UrlUtils.ResolveUrl方法:

@using DotNetNuke.Common.Utilities
// ...
var bannerImageUrl = !string.IsNullOrEmpty(dnnPage?.LargeIcon) ? UrlUtils.ResolveUrl(dnnPage.LargeIcon) : null;

内容的提问来源于stack exchange,提问作者Aaron - Wolf X Machina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 02:54:58