Использование универсального обработчика событий для доступа к узловым узлам в Umbraco - PullRequest
0 голосов
/ 26 августа 2011

Люди,

Я написал общий обработчик событий .Net для ответа на запросы JavaScript с использованием ответов JSON. Все это будет здорово (я думаю), но мне нужно выяснить, как получить доступ к узлам контента в моем дереве контента. В частности, эти узлы являются датами событий, и они расположены под узлом календаря событий, который находится под корнем.

Root-> EventCalendar-> События.

Проблема, с которой я столкнулся, заключается в том, что мой файл ashx находится в моей папке usercontrols. Может кто-нибудь дать мне представление о том, как «дистанционно» подключиться к структуре узла? Я не использовал пользовательский элемент управления на шаблоне, который затем используется на странице. В тот момент у меня не было проблем с навигацией по структуре узла, но в этом случае, когда элемент управления не встроен в страницу, я в растерянности.

Я определенно ценю любую помощь, и я уверен, что вы знаете по моему вопросу, я новичок в Umbraco!

Спасибо, Джейсон

1 Ответ

0 голосов
/ 26 августа 2011

Вы можете получить доступ к своему контенту, используя объект umbraco.NodeFactory.Node. Это обеспечивает доступ ко всему опубликованному контенту и является наиболее эффективным способом получения контента.

Так что вы можете сделать что-то вроде:

INode calendarNode = umbraco.NodeFactory.Node.GetNodeByXpath("root/EventCalendar");

List<INode> events = calendarNode.ChildrenAsList;

foreach(var eventNode in events)
{
    DateTime createdDate = DateTime.Parse(eventNode.GetProperty("createDate").Value);
}
...