Learn More





DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Icon API – Where’s my tilde?

DotNetNuke 6 introduces brand new Icon API to be used by module developers and skin designers to access icons and images in a unified way all across the framework. Simply pass a key (e.g. Add, Edit, or Delete) in ascx file or code-behind and get a Url back to an image without worrying about the physical location. No need to type that tilde in the path any more.



New Shiny Icons

Part of DotNetNuke 6 overhaul, we’ve replaced most of the system icons with a brand new set. The old icons were mostly Gif files, located under \Images folder. The new set are all Png files located under Icons\Sigma folder.


Note: None of the older Gif files have been removed, they may have been updated to match the new look and feel, but not removed.


New Icon Location

The new system icons are located under WebsiteRoot\Icons\Sigma folder. There are at least two copies of each and every system icon. Example: Edit.gif from pre 6 is now represented as Edit_16X16_Standard.png and Edit_32X32_Standard.png.

The first part of the name is the Icon Key (Edit), the second: size (16X16), and the third style: (Standard).



New APIs

There are three new static APIs available to obtain Url for an Icon:

DotNetNuke.Entities.Icons.IconController.IconURL(string key)
DotNetNuke.Entities.Icons.IconController.IconURL(string key, string size)
DotNetNuke.Entities.Icons.IconController.IconURL(string key, string size, string style)   

Instead of using .ImageUrl = “~/images/add.gif”, simply use .ImageUrl = IconController.IconURL(“Add”). 


New IconKey property for Web Controls

Similar to ResourceKey property for Web Controls to facilitate Localization, there is a new IconKey property available to major Web Controls which have native ImageUrl property.

These are the controls that support new IconKey property:


Instead of specifying ImageUrl property with relative url of an icon, the new property IconKey=”KEYNAME” and optionally IconSize (default 16x16) and IconStyle (default Standard) can be used without worrying about the physical path. Below is an example:


ImageUrl="~/images/edit.gif" EditMode="URL" KeyField="UserID" /> 


IconKey="Edit" EditMode="URL" KeyField="UserID" />

IconKey property is available on ascx files as well as in code-behind.



Currently Icon API supports a hard-coded path (Icons\Sigma) to icons, the upcoming version of this API will have a more configurable path where administrator can easily switch to a new set of icons without affecting the core icons shipped with the product.


Comment Form

Only registered users may post comments.


2sic Daniel Mettler (125)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (22)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (270)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?