Classic mode is functionally equivalent to ASP.NET MVC. You can take regular controllers that you implemented in a non-Sitefinity CMS ASP.NET MVC project, include them in the 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 to implement 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.
You can read a detailed description of how you can use the classic mode in For developers: Classic MVC mode.
The Pure mode lets you use MVC controllers and views as widgets on a Sitefinity CMS page. There is one major functional difference between pure and classic modes – 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. However, you cannot use normal WebForms widgets on such a page.
An example of a scenario when you use Pure mVC mode is in case you need clear markup, a lot of client code and are willing to sacrifice the ViewState and postback model.
You can read a detailed description of how you can use Pure mode in For developers: Pure MVC mode.
The Hybrid MVC mode goes even further than Pure MVC mode and lets you mix WebForms and MVC widgets on the same page. It has to keep all WebForms-related markup to enable ViewState, but it can also render the output of MVC controllers. There is one limitation – in your MVC controllers, you cannot use the regular BeginForm helper but should use the Sitefinity CMS helper instead. The reason is that the WebForms model can only allow a single form on the page.
You can read a detailed description of how you can use Hybrid MVC mode in For developers: Hybrid MVC mode.
Mode
Classic
Pure
Hybrid
Uses a Sitefinity page
No
Yes
Uses ViewState (clean markup)
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 both hybrid and pure pages.
@Html.BeginFormSitefinity
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.
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.
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.
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.
To submit feedback, please update your cookie settings and allow the usage of Functional cookies.
Your feedback about this content is important