DNN Blogs

Written for the Community, by the Community

A True MVC Pipeline for DNN?

Written By Timo Breumelhof.
2025-06-04

This post reflects my personal opinions and is not an official statement from the DNN Community or the DNN Platform team.

DNN Technology

DNN has always been based on the .NET Framework and WebForms, initially developed in VB and now in C#. As with every technology, this has advantages and disadvantages.

A major advantage of WebForms is its stability, especially in contrast to the relatively short and sometimes frustrating support cycles of .NET Core.

A disadvantage is that WebForms is not viewed as cutting-edge by some developers. However, it is important to realise that WebForms offers a lot of functionality that you would have to create yourself in any other technology.

Some worry that Microsoft support for WebForms will stop, but I’m not convinced support will end anytime soon, as many of their platforms still rely on it—such as Office 365.

Also, with the release of Windows 2025, we are again assured of .NET security updates for at least the next 10 years.

Ever since the Community has had control over DNN, a lot has been done to introduce new technologies into the platform.

Recent DNN Modernizations

Examples of this include the MVC module pattern, dependency injection, Web API, and more.

But the main DNN rendering engine is still based on WebForms. It offers a lot of functionality out of the box, at the cost of not having 100% control over the finer details of page rendering.

Take it one step further...

During an Open Content meeting, Sacha Trauwaen (the developer of Open Content) shared an intriguing idea.

Sacha needed full control over the output rendered by DNN to be able to adhere to strict Content Security Policies for a client. He was unable to achieve that using the current WebForms rendering.

He created the concept of a secondary DNN rendering pipeline based on MVC 5 without WebForms. At that time, he showed just the content of an HTML module, without a theme.

I really liked that idea, as it seems like the natural next step for DNN. This new way of rendering would potentially align more with .NET Core’s approach without breaking every existing DNN site. Essentially, it introduces the concept of MVC-based pages rather than just MVC modules.

The MVC Rendering Pipeline: A Proof of Concept

We created a “playground” to see if, by introducing a secondary DNN MVC Pipeline, we could take a next step in reducing DNN’s dependency on WebForms.

We discussed this with a small group of DNN friends to determine the best direction—with Sacha doing most of the heavy lifting.

Key Concepts of the MVC Pipeline:

  1. A secondary DNN MVC-based pipeline will be available, not using any WebForms to render the page.
  2. There will be no functional changes to either DNN or the database, as that would only lead to scope creep.
  3. You will get the choice to use either WebForms or the new rendering engine, per page or portal.
  4. All modules and extensions used on an “MVC” page will have to support MVC rendering.

Supporting Extensions for MVC Rendering

No module currently supports this kind of full MVC page rendering.

Even the current MVC-pattern modules will probably need some (minor) work to be usable on an MVC page. But obviously, this will be a lot easier for modern SPA or MVC modules than for classic WebForms modules using lots of WebForms controls.

Instructions for adding support to existing extensions will be published later.

Sacha already added support to the most-used skin objects, the HTML module, and Open Content for this proof of concept.

Why Should the DNN Community Care?

The primary goals of this initiative include:

Cleaner HTML output, removing things like unnecessary <form> tags and ViewState.

Improved security, enabling support for strong Content Security Policies to help achieve an A+ security rating.

Faster page load times and better SEO.

Deprecation of outdated features like JavaScript unload handlers.

The ability to create Razor Themes.

Simplified Azure firewall configurations for access-restricted websites.

DNN Code Quality

Despite the effort involved, this new rendering pipeline was relatively easy to implement—a testament to DNN’s high coding standards and solid architectural foundation.

Evolution vs. Revolution

The major advantage of this new rendering pipeline is its ability to coexist with the existing WebForms-based approach. This allows users to adopt the new rendering method at their own pace while maintaining support for older modules on other pages.

While radical changes might sound exciting, they often come with unintended consequences. For a community as large and diverse as DNN’s, gradual evolution is the most practical and sustainable path forward.

Current Status

This proof of concept is currently being developed mainly by Sacha Trauwaen.

Peter Donker has already spent considerable time reviewing the code, and he and Sacha are working on an installable proof of concept.

We demoed this concept at the DNN Connect 2025 conference in Spain, where it was received with great interest.

Stay Updated

 


This community initiative represents a possible exciting step in DNN’s evolution—balancing innovation with continuity. Your feedback and support are crucial in shaping its future.


 

Total: 5 Comment(s)
Also, not being bound to WebForms might make DNN a lot more attractive to new (younger) developers, since they get taught that WebForms is outdated.
Wednesday, June 4, 2025 ·
In a matured CMS market, you need to understand your SWOT analysis. We have always been relying on a rock solid platform and a very professional community. The weakness is the underperforming roadmap of the last 10 years. As competitors were pushing forward DNN became synonymous for 'legacy'. Not attractive to buy or invest time or money. With this strategy, DNN once again shows to be a reliable and mature choice. Not 'reimagine the world and built from the ground up' as that is just a very long statement for 'problem' if you are already on DNN. This leaves DNN in a great position, if we pick up the pace. The future is all about content types, reuse of content, API's and workflows. We throw a rock solid foundation and the most user friendly UI in the mix. But we can not afford to have dissatisfiers like 'legacy' as part of the percepted brand. Really proud of our DNN community!
Wednesday, June 4, 2025 ·
Thank you Sacha and everyone else involve in this effort! Let's show the world why the DNN Community is the best!
Wednesday, June 11, 2025 ·

Error: Object reference not set to an instance of an object.

In: at DotNetNuke.Modules.Blog.Core.Templating.LazyLoadingUser.GetProperty(String strPropertyName, String strFormat, CultureInfo formatProvider, UserInfo AccessingUser, Scope AccessLevel, Boolean& PropertyNotFound) at DotNetNuke.Modules.Blog.Core.Templating.BaseCustomTokenReplace.replacedTokenValue(String strObjectName, String strPropertyName, String strFormat) at DotNetNuke.Modules.Blog.Core.Templating.BaseTokenReplace.ReplaceTokenMatch(Match m) at System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat) at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator, Int32 count, Int32 startat) at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator) at DotNetNuke.Modules.Blog.Core.Templating.BaseTokenReplace.ReplaceTokens(String strSourceText) at DotNetNuke.Modules.Blog.Core.Templating.GenericTokenReplace.ReplaceTokens(String strSourceText) at DotNetNuke.Modules.Blog.Core.Templating.Template.ReplaceContents()

This is exactly the kind of forward-thinking evolution DNN needs. I love that this MVC pipeline approach keeps our existing investments in WebForms intact while opening the door to modern development practices, cleaner markup, and stronger security. The fact that this was done without hacking the core speaks volumes about the strength of DNN’s architecture—and the talent in this community. Big kudos to Sacha, Peter, and everyone contributing to this proof-of-concept. I can see real potential here for agencies and site owners who want to adopt a more modern stack at their own pace, without the “rip and replace” headaches we see in other CMS platforms. Count me in as someone who’s ready to test, provide feedback, and help spread the word.
Friday, August 15, 2025 ·

Would you like to help us?

Awesome! Simply post in the forums using the link below and we'll get you started.

Get Involved