我正在使用Umbraco 4.5.2,並且我有一個包含多個子節點的節點。每個子節點代表將在控件中呈現的HTML片段。控制循環遍歷所有的子節點並渲染它們。以編程方式呈現Umbraco節點
就目前而言,爲了讓事情進展(對Umbraco來說還是比較新的),我有一點骯髒的黑客行爲,但我寧願做得更好。
我此刻的代碼如下所示:
private string GetItemHtml(Node node)
{
// Work out the URL of the HTML fragment
string url = "http://" + Context.Request.Url.Host +
":" + Context.Request.Url.Port +
node.Url;
// Get the fragment by making a call to the page
WebRequest req = WebRequest.Create(url);
WebResponse res = req.GetResponse();
using (Stream stream = res.GetResponseStream())
{
StreamReader reader = new StreamReader(stream);
string result = reader.ReadToEnd();
return result;
}
}
正如你所看到的,這實在是相當難看。我希望有一些方法可以在不需要進行多次HTTP調用的情況下獲得該調用,即使它正在循環回到同一臺服務器 - 它效率也不高。