Disabling widget code in Sitefinity’s Page Edit Mode

August 30, 2011 Digital Experience

It’s extremely easy to create new Sitefinity widgets by creating a new ASP.NET control.  However, sometimes this custom code doesn’t work well in Sitefinity’s Page Editor.  In those cases it becomes necessary to disable the offending code while working in Sitefinity’s design mode. 

To do this, we need to know whether the page is running in Page Edit mode.  Thankfully, there are a couple of a handy extension methods that enable us to determine if Sitefinity is switched into design mode (or preview mode).

// If working in an ASP.NET Control... if (SystemManager.IsDesignMode)
{
}
if (SystemManager.IsPreviewMode)
{
}

// If working in an ASP.NET Page or Master Page if (this.IsDesignMode())
{
}
if (this.IsPreviewMode())
{
}

It should not be necessary to add any namespace to utilize this code.  Just be sure to use the appropriate code for the appropriate setting (controls vs. pages).  The actual code for disabling functionality in these modes will need to be inserted into the code blocks above. 

If you’re looking for more information, check out the following resources:

Happy coding!  :)

The Progress Team