Asp.net Sitecore获取呈现Html

Asp.net Sitecore获取呈现Html,asp.net,webforms,sitecore,sitecore7.2,Asp.net,Webforms,Sitecore,Sitecore7.2,有没有一种方法可以根据项目的表示值从代码中获取项目的呈现html?在最近的一个项目中,这需要完成,我们目前正在用另一个看似浪费的请求删除我们自己的站点。不幸的是,我认为没有一个干净的方法来实现这一点。usercontrol在很大程度上依赖于整个页面生命周期的运行,因此需要HTTP请求。您还常常依赖于Sitecore上下文的各个部分,这些部分是在请求过程中建立起来的 使用MVC,您有更多的选项,因为您可以直接调用Render方法。但是,您仍然必须首先正确地构建模型。所以你可能仍然有困难 正如你所说

有没有一种方法可以根据项目的表示值从代码中获取项目的呈现html?在最近的一个项目中,这需要完成,我们目前正在用另一个看似浪费的请求删除我们自己的站点。

不幸的是,我认为没有一个干净的方法来实现这一点。usercontrol在很大程度上依赖于整个页面生命周期的运行,因此需要HTTP请求。您还常常依赖于Sitecore上下文的各个部分,这些部分是在请求过程中建立起来的

使用MVC,您有更多的选项,因为您可以直接调用Render方法。但是,您仍然必须首先正确地构建模型。所以你可能仍然有困难

正如你所说,这似乎是浪费,但屏幕刮是通常的方式来实现它。我知道有几个现有模块使用这种方法对页面内容进行索引


我通常打开一个web请求并获取项目。如果我只需要一个特定的占位符,我会通过类似
?mode=placeholder name
的方式限制对它的访问


这在对网站进行爬网并希望在搜索索引中缓存HTML时特别有用。

您的意思是在体验编辑器中?我们在尝试为experience editor中开发的搜索页面编制索引时遇到了相同的问题。我们所做的是对页面进行HttpRequest,检索html,删除所有标记,并将内容索引为_content。当我们想做一个关键词搜索时,我们就匹配了内容。希望这有帮助。Charlie

您可以使用项目Web API,但这不会考虑渲染参数,您必须为数据源提供项目id。我想这不是你想要的。第15页:他已经向页面提出了请求,正在寻找替代方法。(“我们目前正在用另一个请求删除我们自己的网站”)错过了这个抱歉。我也在想同样的问题,但没能找到答案:(没问题。这个问题的变体经常出现在堆栈溢出上。如果Sitecore能想出一个解决方案那就太好了。谢谢你的反馈。由于上述原因,看起来我将不使用当前的方法。