MVC

Assumptions:

  • .NET Core + .NET 4.5.2
  • ASP.NET MVC 5 + 6
  • Java 8
  • Spring MVC 4

FeatureIn DXADD4T .NETDD4T JavaComments
Features of the controllers
Inject viewmodels using ModelBinderNoYes (in feature branch)NoThis belongs in the MVC discussion and not the model mapping discussion
Controllers in the frameworkYesYes (abstract)Yes (abstract)Should this be in the core or in a module? Controllers should be owned by the customer according to Q
Rendering regionsSeparate region viewsNo region viewsNo region viewsWe want this in the new framework, because a. sometimes there is are extra HTML elements which are otherwise hard to do, and b. the product is moving in that direction as well
Hook for custom CP logicOverride controller/action with metadataOverride controller/action with metadataOverride controller/action with metadata or use routing to intercept requestsThe new framework will use View Components for ASP.NET MVC 6 (but still needs the old approach for MVC 5)










Features of the view(resolver)s
XPM markup in viewsYesYesYes
Thymeleaf / non-JSP support for javaNon.a.No
Rendering component presentationsTriggered by tagTriggered by view helperTriggered by tagFor .NET we will adopt View Component approach. https://docs.asp.net/en/latest/mvc/views/view-components.html. It is important that this can be customized in implementations, e.g. to run a broker query or access an external service.