---
title: Select content
slug: cms-11/dev-docs/selecting-content
docTags: 
createdAt: 2026-07-22T19:45:21.284Z
---

## Built-in content selectors

```csharp
public virtual PageReference PageReference {
  get;
  set;
}

[UIHint(UIHint.Block)]
public virtual ContentReference BlockReference {
  get;
  set;
}

[UIHint(UIHint.Image)]
public virtual ContentReference ImageReference {
  get;
  set;
}

[UIHint(UIHint.Video)]
public virtual ContentReference VideoReference {
  get;
  set;
}

[UIHint(UIHint.MediaFile)]
public virtual ContentReference AnyMediaFileReference {
  get;
  set;
}

[UIHint(UIHint.BlockFolder)]
public virtual ContentReference BlockFolderReference {
  get;
  set;
}

[UIHint(UIHint.MediaFolder)]
public virtual ContentReference MediaFolderReference {
  get;
  set;
}
```

## Customize a selector

The following example, which you can customize, shows how to override the default root of the repository.

```csharp
[UIHint("teaserblock")]
public virtual ContentReference TeaserBlockReference {
  get;
  set;
}

[EditorDescriptorRegistration(TargetType = typeof (ContentReference), UIHint = "teaserblock")]
public class BlockReferenceEditorDescriptor: ContentReferenceEditorDescriptor<TeaserBlock> {
  public override IEnumerable<ContentReference> Roots {
    get {
      //Sample to override the default root for the repository.
      //Take the reference from configuration or site initialization and do not hard-code it.
      return new ContentReference[] {
        new ContentReference(90)
      };
    }
  }
}
```
