gpt4 book ai didi

sitecore - 以编程方式渲染 sitecore mvc 渲染

转载 作者:行者123 更新时间:2023-12-01 05:04:46 25 4
gpt4 key购买 nike

我想获取内容项的所有渲染,并使用 C# 代码将它们中的每一个渲染为 MVC 操作内的 html 字符串。下面是我用来获取内容项的所有渲染的代码。

Item item = Sitecore.Context.Database.GetItem(someItem);
RenderingReference[] myRenderings = item.Visualization.GetRenderings(Sitecore.Context.Device, true);

foreach (RenderingReference rendering in myRenderings)
{
RenderingItem renderingItem = rendering.RenderingItem;
}

我能够得到这个列表和渲染项目的 Id。但是如何将它们呈现为 html 字符串?

注:渲染可以是任何渲染类型,如 View 渲染、xsl 渲染、 Controller 渲染等。我不想使用 WebClient 或 HtmlAgility 包的方法。

最佳答案

不确定您真正尝试做什么,但此代码允许您在 MVC 操作中呈现渲染并为此返回 Html:

public ActionResult GetFirstRenderingHtml()
{
var rendering = PageContext.Current.PageDefinition.Renderings.First();
return this.View(new RenderingView(rendering));
}

这实际上只返回当前项的第一次渲染的代码。如果想直接调用这个 Action ,需要添加 sc_itemid中的参数来指定上下文项:
/api/yourcontroller/GetFirstRenderingHtml?sc_itemid=<item id>

如果您想要一个完整项目的 Html 及其所有渲染,我建议您创建一个 Web 请求来获取输出。

关于sitecore - 以编程方式渲染 sitecore mvc 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30050325/

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