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

如何向Microsoft Teams中的Adaptive Card传递文本参数?

向Adaptive Card传递动态文本参数的实现方法

1. 修改Adaptive Card模板,添加动态占位符

将原卡片中的静态标题文本替换为数据绑定表达式,Adaptive Card 1.0及以上版本原生支持这种语法。修改后的JSON如下:

{
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.4",
    "body": [
        {
            "type": "TextBlock",
            "text": "**Title - ${dynamicTitle}**",
            "wrap": true,
            "weight": "Bolder"
        },
        {
            "type": "Image",
            "url":"urlIMage"
        },
        {
            "type": "TextBlock",
            "text": "Text here",
            "wrap": true
        }
    ]
}

这里的${dynamicTitle}就是动态参数的占位符,你可以根据需求自定义参数名称(比如${orderId}、${reportName})。

2. 在代码中传递参数并渲染卡片

根据你使用的平台(Bot Framework、自定义应用、Teams等),在渲染卡片时传入包含参数的数据集,以下是常见场景的示例:

示例1:C#(Bot Framework场景)

// 定义要传递的动态数据
var cardData = new { dynamicTitle = "2024年Q3销售汇总报告" };

// 加载本地卡片模板文件
var cardTemplateContent = File.ReadAllText(@"你的卡片文件路径\card.json");
var cardTemplate = AdaptiveCard.FromJson(cardTemplateContent);

// 将数据绑定到模板,生成最终卡片
var renderedCard = cardTemplate.Template.Expand(cardData);

// 发送渲染后的卡片
await turnContext.SendActivityAsync(MessageFactory.Attachment(new Attachment
{
    ContentType = AdaptiveCard.ContentType,
    Content = renderedCard
}));

示例2:JavaScript(浏览器/Node.js场景)

// 卡片模板对象
const cardTemplate = {
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.4",
    "body": [/* 你的卡片内容 */]
};

// 要传递的动态参数
const cardData = { dynamicTitle: "用户反馈工单#12345" };

// 使用Adaptive Cards SDK完成数据绑定
const template = new AC.Template(cardTemplate);
const renderedCard = template.expand({ $data: cardData });

// 浏览器中渲染卡片
const adaptiveCard = new AC.AdaptiveCard();
adaptiveCard.parse(renderedCard);
document.body.appendChild(adaptiveCard.render());

3. 关键注意事项

  • 参数名称必须和卡片模板中的占位符完全匹配,区分大小写
  • 支持复杂文本拼接,比如**${category} - ${dynamicTitle}**,直接在text字段中编写表达式即可
  • 部分平台(如Teams)支持直接在卡片的$data属性中嵌套数据,无需额外模板渲染步骤

内容的提问来源于stack exchange,提问作者S_A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:33:01