Henrik Fransas
Nov 20, 2015
  2179
(1 votes)

PropertyAppSettings, a great but kind of hidden build in function in Episerver

This function has been built in for a long time, but the documentation of it is very hidden, so I hope I with this post will inspire more people to use it.

This is very usefull if you like to have a selectbox with hard values in, meaning that the content of the select box will not change other than when you deploy the next time.

The property is called PropertyAppSettings and it works like this.

First create a new appsettings in web.config that looks like this

<add key="BackgroundColor" value="White;#fff|Black;#000|Blue;#0276FD"/>

And then in your content type definition you just write

[Display(Name = "Background Color",
   Description = "Select the background color of the page",
   Order = 1)]
[BackingType(typeof(PropertyAppSettings))]
public virtual string BackgroundColor { get; set; }

The important thing is that your property must be named exactly the same as your key in the appsettings. After that you will have a property that will look something like this in the editor

Image example.png

Hopes this help someone.

Nov 20, 2015

Comments

Arild Henrichsen
Arild Henrichsen Nov 20, 2015 01:09 PM

This has been built-in since at least Epi 5 :-)

FYI there is also a PropertyAppSettingsMultiple that works in the same way, but renders check boxes. (http://world.episerver.com/documentation/Class-library/?documentId=cms/9/7CB200B2)

In your node in web.config, define the key/value pairs like this:

<>appSettings>
    <>add key="Color" value="White;#ffffff|Black;#000000|Red;#ff0000" />
appSettings>

Henrik Fransas
Henrik Fransas Nov 20, 2015 02:03 PM

True Arild, as I wrote, a long time, but still many developers seems not to know about it and there are no examples on it that I can find in the documentation either.

Yeah, I have never tried it, but read about it.

Please login to comment.
Latest blogs
The new LinkItem property in Optimizely CMS, and why it matters

In the past, we have used different tricks to achieve this. Now, the LinkItem property is finally built-in in Optimizely CMS 12!

Tomas Hensrud Gulla | Mar 20, 2023 | Syndicated blog

A day in the life of an Optimizely Developer - Vertical Slicing in CMS12

There is such a vast choice these days in how you can build a website, aside from all of the different programming languages out there, there are...

Graham Carr | Mar 20, 2023

Tag Helpers in CMS 12

Microsoft introduced the TagHelper back in the primordial soup of ASP.NET vNext which became .Net 5, then .NET Core then .Net 5 you know the drill…...

MartinOttosen | Mar 20, 2023

Security.txt with minimal api .net core

Learn why security.txt is a good practice to implement and how easy it can be done.

Luc Gosso (MVP) | Mar 20, 2023 | Syndicated blog

Optimizely named a leader in the Gartner 2023 Magic Quadrant

The Optimizely DXP and CMP are once again being recognised as leaders in the Magic Quadrant by Gartner.

Ynze | Mar 20, 2023 | Syndicated blog

Power Optimizely CMS with the brand new GPT-4 language model!

On March 14th, OpenAI released opened a waiting list for access to their GPT-4 language model, which was also made available for paying users of...

Tomas Hensrud Gulla | Mar 17, 2023 | Syndicated blog