For developers: Hybrid MVC mode

You can think of Hybrid mode as a way to use the best of both worlds – MVC and WebForms. Hybrid mode lets you use MVC widgets and WebForms widgets on the same page. You can implement your controllers the way you are used to, and at the same time have WebForms controls that use postbacks. This might sound weird to some, but we decided to give you as many options as we can.

Create a hybrid template and page

To use Hybrid mode in Sitefinity CMS, you have to create a template and set its advanced options accordingly. In the Create a template dialog, enter a Name such as HybridTemplate, then choose Don't use template, and the Advanced setting WebForms and MVC (hybrid).

Once created, this template and all pages based on it can use both the old WebForms widgets, as well as custom MVC widgets.

In order for this to work, the Sitefinity CMS engine creates a page object, but also routes to all MVC controllers that you have on the page and inserts their markup into the output. This works in exactly the same way that ASP.NET MVC does, so there are no hacks or workarounds – you can fully expect your controllers to behave like they would normally.

There is one caveat. Since WebForms requires that you only have a single HTML form tag on the page, you cannot use the default @Html.BeginForm helper. We have provided an alternative for you, which you can use instead. Everywhere that you need to render a form, you can use @Html.BeginFormSitefinity.

Was this article helpful?