使用通用事件处理程序访问 Umbraco 中的内容节点

发布于 2024-12-01 12:33:21 字数 369 浏览 0 评论 0原文

各位,

我已经编写了一个 .Net 通用事件处理程序来使用 JSON 响应来响应 JavaScript 请求。所有这些都很棒(我认为),但我需要弄清楚如何访问内容树中的内容节点。具体来说,这些节点是事件日期,它们位于根目录下的事件日历节点下方。

根->事件日历->事件。

我遇到的问题是我的 ashx 文件位于我的 usercontrols 文件夹中。谁能给我一个关于如何“远程”利用节点结构的想法?我没有在模板上使用用户控件,然后在页面中使用该用户控件。那时,我在节点结构中导航没有问题,但在这种情况下,控件没有嵌入到页面中,我不知所措。

我非常感谢任何帮助,我相信你通过我的问题知道,我是 Umbraco 的新手!

谢谢, 贾森

Folks,

I have written a .Net Generic Event Handler to respond to JavaScript requests using JSON responses. All of that will be great(I think), but I need to figure out how to access the Content Nodes within my Content tree. Specifically, these nodes are event dates, and they are located below the event calendar node, which is under the root.

Root->EventCalendar->Events.

The issue I am having is that my ashx file lives in my usercontrols folder. Can anyone give me an idea as to how to "remotely" tap into the node structure? I have had no using a user control on a template, which is then used in a page. At that point, I have had no problem navigating the node structure, but in this case, where the control is not embedded in a page, I am at a loss.

I definitely appreciate any help, and I am sure you know by my question, I am a newbie to Umbraco!

Thanks,
Jason

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ま柒月 2024-12-08 12:33:21

您可以使用 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);
}

You can access your content using the umbraco.NodeFactory.Node object. This provides access to all the published content and is the most efficient way of retrieving content.

So you could do something like:

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);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文