我正在使用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调用的情况下获得该调用,即使它正在循环回到同一台服务器 - 它效率也不高。