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中的子頁面