【发布时间】:2021-04-25 00:37:09
【问题描述】:
使用 C# HTML Adaptive Card 渲染时,当我包含要渲染的模板数据时,在渲染过程中不会使用旧的 synatx 或更新的语法格式。
有人知道 .NET Html 渲染器是否支持这一点,或者是否有其他一些需要采取的方法。
渲染结果
您可以在下图中看到,这两种方法都没有获取指定为 JSON 卡有效负载一部分的数据。输出应该是
Hello from, old syntax Ernest Hemingway, new syntax ${author.name}
或
Hello from, old syntax {author.name}, new syntax Ernest Hemingway
示例 C#
public string Html(string cardJson)
{
AdaptiveCardRenderer renderer = new AdaptiveCardRenderer();
var version = renderer.SupportedSchemaVersion;
var card = AdaptiveCard.FromJson(cardJson);
RenderedAdaptiveCard renderedCard = renderer.RenderCard(card.Card);
// Get the output HTML
HtmlTag html = renderedCard.Html;
return html.ToString(); ;
}
样本卡负载
{
"type": "AdaptiveCard",
"$data": {
"author": {
"name": "Ernest Hemingway"
}
},
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "Adaptive Card Sample"
},
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"items": [
{
"type": "TextBlock",
"weight": "Bolder",
"text": "Hello from, old syntax {author.name}, new syntax ${author.name}",
"wrap": true
}
],
"width": "stretch"
}
]
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2"
}
【问题讨论】:
标签: c# html rendering adaptive-cards