We are in the process of moving our application to .NET. One of the main goals is to allow modifications to the application, per client, but not to the source code. We solved this in the main structure by programming the interfaces and using the dependency resolver (having the ability to redefine the basic registration) and MEF.
Now, when it comes to views (the user interface that the client sees), the templates seem static, and if the client wants to add a new field to the screen, it seems they will need to change the look itself.
The only thing I can think of is to change the searchengine search path. This will allow you to copy the database, and changes to it will be selected. Not really like this, like a copy of the code.
Another way that we are doing now is that we create a class that is a container for other objects that output HTML. Basically, we have a PageObject, LabelObject, InputObject..ect, which we can call HTML rendering and output. Since they are classes, we can use the same methodology as for other applications that provide slicing in points. Following this route, we really do not use viewengine for rendering, but simply for combining all partial views. This seems to be uncomfortable.
Is there any other way to achieve this goal or another viewview that I can use to achieve the goal of setting up clients without touching the base view? I know that HTML is not an object, but it looks like there should be something between ASP.NET WebForms and ASP.NET MVC when working with HTML and customizability.
CharlesNRice
source share