在Razor页面上显示自适应卡的语法



Razor/Adaptive Card新手。我可以使用adaptive Cards sdk在C#中创建一个自适应卡。但是文档并没有显示如何在剃须刀页面中显示卡片。

我的代码:C#页面型号

public PageResult OnGet()
{
AdaptiveCardRenderer renderer = new AdaptiveCardRenderer();
AdaptiveCard card = new AdaptiveCard(renderer.SupportedSchemaVersion);
card.Body.Add(new AdaptiveTextBlock { Text = "Hello World" });
AdaptiveTextInput adaptiveTextInput = new AdaptiveTextInput {IsMultiline = true};
card.Body.Add(adaptiveTextInput);
AdaptiveActionSet adaptiveActionSet = new AdaptiveActionSet();
adaptiveActionSet.Actions.Add(new AdaptiveOpenUrlAction()
{
Id = "buttonId",
Title = "Button"
});
card.Body.Add(adaptiveActionSet);
RenderedAdaptiveCard renderedCard = renderer.RenderCard(card);
ViewData.Add("cardJson",renderedCard.Html);
return Page();
}

Razor页面

@page
@model ScoutAdaptiveCardRenderer.Pages.Card.CardRenderModel
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
ViewData["Title"] = "CardRender";
}

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
@ViewData["cardJson"]
</body>
</html>

剃刀页面只是在字符串中显示格式化为html的卡片数据。我在文档中没有看到任何关于如何在剃刀页面上实际呈现卡片的内容。有人能帮助你掌握正确的语法吗?

这很有效:

string cardJson = "{rn    "type": "AdaptiveCard",rn    "body": [rn        {rn            "type": "Image",rn            "altText": "",rn            "url": "https://placekitten.com/408/287",rn            "id": "idKittenPicture"rn        },rn        {rn            "type": "TextBlock",rn            "text": "Nice kitty",rn            "id": "idKittyText"rn        },rn        {rn            "type": "Input.Text",rn            "placeholder": "type something here",rn            "id": "idInput",rn            "isMultiline": truern        },rn        {rn            "type": "ActionSet",rn            "actions": [rn                {rn                    "type": "Action.OpenUrl",rn                    "title": "Rosie's Page Button",rn                    "id": "idRosiePage",rn                    "url": "https://jwt.io/"rn                }rn            ]rn        }rn    ],rn    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",rn    "version": "1.0"rn}";
AdaptiveCardRenderer renderer = new AdaptiveCardRenderer();
AdaptiveCard card = AdaptiveCard.FromJson(cardJson).Card;
var adaptiveSubmitAction = new AdaptiveSubmitAction();
adaptiveSubmitAction.Title = "Data";
adaptiveSubmitAction.Data = "{"id":123456789,"name":"Abner Wallace"}";
card.Actions.Add(adaptiveSubmitAction);
RenderedAdaptiveCard renderedCard = renderer.RenderCard(card);
HtmlString htmlString = new HtmlString(renderedCard.Html.ToString());
}
@htmlString

最新更新