我正在编写一个Blazor站点,使用Content作为CMS.我有两个围绕Rich Text文档类型的需求.

  1. 我需要循环整个文档正文并分离标题部分,然后将值呈现到列表中

  2. 我需要获取文档类型中的第一个段落元素并呈现该元素的值.

我正在使用以下代码: case 1:

foreach (IContent node in ccContent.Items.bodyText.Content)
{
   switch (node)
   {
      case Heading2 h:
-------->   h.Content.Value can be seen in a breakpoint, but not 
-------->   available to render in code
        break;
      default:
        break;
   }
}

case 2:

foreach (var article in articles)
{
    foreach (IContent node in article.response.Content)
    {
       switch (node)
       {
          case Paragraph p:
            IContent content = p.Content.FirstOrDefault();
-------->   content.Value can be seen in a breakpoint, but not 
-------->   available to render in code?
            break;
       }
    }
}

推荐答案

您需要输入Check并将您的IContent content转换为正确的类型.

例如:

if(content is Text) {
   var v = (content as Text).Value;
}

.net相关问答推荐

";Make Async ValueTask/ValueTask方法分期分配发生了什么?

使用托管身份而不是检测密钥配置Application Insights

为什么脚本不从 _Layout 加载并且必须添加到部分视图中?

Blazor服务器应用程序需要在页面上点击才能与元素交互

Dictionary.FirstOrDefault() 如何判断是否找到了结果

查找所有源硬编码字符串

将字符串与容差进行比较

将 Moq 模拟对象传递给构造函数

在 C# 中生成随机小数

maxRequestLength 的最大值?

XmlNode 值与内部文本

将 Topshelf 应用程序安装为 Windows 服务

什么决定了 Path.GetTempPath() 的返回值?

获取 .NET Framework 目录路径

为什么 System.Timers.Timer 能在 GC 中存活,而 System.Threading.Timer 不能?

析构函数、dispose 和 finalize 方法的区别

从 'System.Int32' 到 'System.Nullable`1[[System.Int32, mscorlib]] 的无效转换

如何判断uri字符串是否有效

程序员应该使用 SSIS,如果是,为什么?

什么时候使用 Tuple 和 KeyValuePair 比较好?