gpt4 book ai didi

c# - 从ViewComponent返回自定义html

转载 作者:行者123 更新时间:2023-12-04 16:33:20 25 4
gpt4 key购买 nike

在ASP.NET Core应用程序中,我想从ViewComponent返回自定义html。我可以返回自定义文本,但是html将被编码而不是被嵌入:

public class BannerViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync(string param1, int param2)
{
return Content("<strong>some custom html</strong>");
}
}

我在.cshtml页面中使用了它:
    @await Component.InvokeAsync("BannerView")

在页面上,这将显示为 <strong>some custom html</strong>而不是 一些自定义html
如何直接从ViewComponent返回HTML而不是文本?

最佳答案

您的ViewComponent也可以有自己的 View ,您可以在那里渲染html。解决方案如下:

public class BannerViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync(string param1, int param2)
{
string model = "<strong>some custom html</strong>";
return View("Index", model);
}
}

将以下内容添加到您的Views文件夹中: Views\Shared\Components\BannerViewComponent\Index.cshtml并将以下内容放入ViewComponent的 View 中:
@model string
@Html.Raw(Model)

您可以将模型更改为类而不是字符串,以便可以构造ViewComponent的输出,但是关键部分是 Html.Raw()方法,用于输出未编码的html。

关于c# - 从ViewComponent返回自定义html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41982461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com