# Navigation

The navigation content property allows you to create a navigation structure in a tree. This allows you to easily created multi level navigation structures. Saved as a List of Lists

{% hint style="info" %}
If you pick content from the content tree, this will save the ID and the current name / url. If the url of the content item changes after this is selected, the old url is saved in the navigation. You need to use the saved content id to query the content to get the up to date url, or just use the extension method below that handles this all for you.
{% endhint %}

<figure><img src="/files/hX8x3ohyHuEjqhLhErsN" alt=""><figcaption></figcaption></figure>

### Example of getting value on page

Because we need to deal with items that have picked content, that content could have changed after it's been picked so we need to use this method to make sure we get up to date content urls, and this is why Mediator needs to be passed in.

```csharp
@inject IMediator Mediator
@(await Model.NavigationItems("PropertyAliasHere", Mediator))
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aptitude.gitbook.io/zaubercms/creating-a-website/current-content-properties/navigation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
