0
A
回答
0
不是一个真正的C1具体的办法,但我个人最好的方法是只让有问题的页面创建一个单独的网络请求,解析出HTML和渲染。
这段代码可以作为一个例子,它是我使用的1:1。正如你所看到的关键是要找到一个包装你的内容,在我的例子其元素的元素里面有一个ID等于ContentColumnInner
public static string GetContentFromPage(Guid pageId)
{
var DomainName = HttpContext.Current.Request.Url.Authority;
var Uri = String.Format("http://{0}/page({1})", DomainName, pageId);
var request = WebRequest.Create(Uri);
// If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials;
// Get the response.
using (var response = (HttpWebResponse)request.GetResponseWithoutException())
{
if (response.StatusCode != HttpStatusCode.OK)
{
LogError("StatusCode: " + response.StatusCode);
return null;
}
// Get the stream containing content returned by the server.
using (var responseStream = response.GetResponseStream())
{
if (responseStream == null)
{
LogError("ResponseStream is null");
return null;
}
// Open the stream using a StreamReader for easy access.
using (var stream = new StreamReader(responseStream))
{
// Read the content.
var responseFromServer = stream.ReadToEnd();
var beforeBodyStartIndex = responseFromServer.IndexOf("<body", StringComparison.Ordinal);
var afterBodyEndIndex = responseFromServer.LastIndexOf("</body>", StringComparison.Ordinal) + 7;
var body = responseFromServer.Substring(beforeBodyStartIndex, afterBodyEndIndex - beforeBodyStartIndex);
try
{
var xmlDocument = XElement.Parse(body);
var content = xmlDocument.Descendants().FirstOrDefault(o => o.Attribute("id") != null && o.Attribute("id").Value.EndsWith("ContentColumnInner"));
if (content == null || !content.HasElements)
{
return null;
}
var reader = content.CreateReader();
reader.MoveToContent();
return reader.ReadInnerXml();
}
catch (XmlException ex)
{
LogError("Error parsing xml: " + ex.Message);
return null;
}
}
}
}
}
相关问题
- 1. 获取父页面的子页面
- 2. 从子页面导航到父页面
- 3. 列出当前页面的父页面的子页面
- 4. 从子页面呈现控件布局
- 5. 现有页面到trac的子页面
- 6. JavaFX2.0 webview不呈现页面?
- 7. Joomla - 页面呈现控件
- 8. phantomjs不呈现页面
- 9. JSF页面呈现两次?
- 10. 两遍JSP页面呈现
- 11. jQuery POST后呈现页面
- 12. NoReverseMatch当呈现页面
- 13. 呈现大型HTML页面
- 14. Expressjs页面不呈现
- 15. 防止aspx页面呈现
- 16. Facelets:页面未呈现
- 17. PhantomJS无效页面呈现
- 18. 错误页面不呈现
- 19. ASP.net MVC呈现html页面
- 20. 空白ASPX页面呈现
- 21. Tomcat不呈现jsp页面
- 22. 暂停pdf.js页面呈现
- 23. HtmlUnitDriver如何呈现页面?
- 24. 页面呈现期间出现异常时的错误页面
- 25. 使用.NET检查子页面中的父页面地址
- 26. 如何在javaScript中刷新父页面形式的子页面
- 27. 301将子页面重定向到.htaccess中的父页面
- 28. 从wicket中的父页面组件调用子页面组件
- 29. 如何在Wordpress中显示父页面的随机子页面?
- 30. 停用父页面不应影响cq5中的子页面