MVC modes

Sitefinity CMS supports two MVC modes. The mode used depends on your development process as well as the capabilities you want to implement. The following sections describe each mode.

Classic mode (bypass Sitefinity CMS engine and directly use native controllers)

Classic mode is functionally equivalent to ASP.NET MVC. You can take regular controllers that you implemented in a non-Sitefinity ASP.NET MVC project, include them in your Sitefinity CMS project, and register routes that use them. This mode lets you reuse a lot of legacy code that you may want to move from a regular application to a Sitefinity CMS application. In this mode, you do not work with Sitefinity CMS pages at all.
Working in classic MVC mode is suitable when you need to implement a custom scenario with a very particular and specific functionality and behavior. For example, your scenario requires implementing a number of single-page-application pages that are constructed with SPA framework, such as Angular.
Another example is when you are porting an existing MVC app into Sitefinity CMS, and want precise control over your URLs, you may want to use the classic MVC mode.
For more information, see Classic MVC mode.

Pure mode (multiple controllers per page)

The pure mode lets you use MVC controllers and views as widgets on a Sitefinity CMS page. There is one major functional difference of the pure MVC mode vs classic mode – you can use multiple controllers on the same page. Each controller becomes a widget on the page and is responsible for rendering a portion of it.
An example scenario when you can use pure MVC mode is: you need clear markup, a lot of custom code, and are willing to sacrifice the ViewState and postback model.
For more information, see Pure MVC mode.

Mode comparison table

  Classic MVC Pure MVC
Uses a Sitefinity page No Yes
Uses ViewState (clean markup) No No
Controllers per page 1 Many
Form helper @Html.BeginForm

@Html.BeginForm and @Html.BeginFormSitefinity

RECOMMENDATION: We recommend that you use the @Html.BeginFormSitefinity helper since it ensures that you can use your widget on pure MVC pages.

Route registration Manual Auto

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Get started with Integration Hub | Sitefinity Cloud | Sitefinity SaaS

This free lesson teaches administrators, marketers, and other business professionals how to use the Integration hub service to create automated workflows between Sitefinity and other business systems.

Web Security for Sitefinity Administrators

This free lesson teaches administrators the basics about protecting yor Sitefinity instance and its sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?