Re-Developing asp.net webform to MVC
-
There is literally nothing the can be done in WebForms that MVC cannot do. Your team will just need to be prepared to work more in JavaScript. The underlying technologies are still exactly the same, the separation of concerns is just more clearly drawn. It will take time, though.
"There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli
Nathan Minier wrote:
Your team will just need to be prepared to work more in JavaScript.
Why?
-
Hi Professionals, We have a complex application developed in asp.net web forms and ajax. the Application is very heavy and contains many complex functions. Lengthy (Header/details) forms, Complicated Gridviews and all supported with ajax controls. the application has been enhanced for the last 10 years to keep it with the latest tehnology and trends. we are planning to do major enhancement to the application - converting it to HTML5 and jquery/bootstrap the developers advising to re-develop the application in MVC because it is fully support jquery/callback and bootstrap I am not sure if we can go to in this direction or not. the current application is event based. most of the events are handled in the server side. for example we have a form with many sections being displayed or hidden based on a selection from multiple dropdowns. for that we are using asp.net panel with visible property. and we have other screens with gridviews loading huge data (more than 50,0000 rows) and we used the gridview built-in paging and sorting. beside we also have nested grids (Expand/Collapse) for each row of the parent grid I am not sure if all of these functionalities can be achieved by MVC/Bootstrap. could you please, advise.
Hussain Mohammed Saleh Attiya ISP Technical Manager Atyaf Telcom - Bahrain
WebForms supports jQuery, bootstrap etc too. Both webforms and MVC are server-side technologies and contrary to popular belief you don't need javascript to use either of them, and similarly using them does not mean you can't use javascript technologies either. However you can't really "convert" such an app as you have from a server-side methodology to a client-side one. I think you can maybe re-engineer some things such as, for example, ditching datagrid paging and instead use jQuery to call web methods to return the data as pages and then update the DOM directly. These things are no less possible in webforms than MVC. The way I see it you can only add these types of enhancements and introduce these techniques a bit at a time, or you can commit to full rewrite the app and take the opportunity to improve it in many areas as I'm sure the app would benefit from this. If you do commit to do that then moving to MVC at the same time would be a good thing to do, but it will involve a complete re-write and there will be a steep learning curve for your team. However don't think you have to use a certain server-side technology to use a certain javascript framework, as it's all just html.
-
Hi Professionals, We have a complex application developed in asp.net web forms and ajax. the Application is very heavy and contains many complex functions. Lengthy (Header/details) forms, Complicated Gridviews and all supported with ajax controls. the application has been enhanced for the last 10 years to keep it with the latest tehnology and trends. we are planning to do major enhancement to the application - converting it to HTML5 and jquery/bootstrap the developers advising to re-develop the application in MVC because it is fully support jquery/callback and bootstrap I am not sure if we can go to in this direction or not. the current application is event based. most of the events are handled in the server side. for example we have a form with many sections being displayed or hidden based on a selection from multiple dropdowns. for that we are using asp.net panel with visible property. and we have other screens with gridviews loading huge data (more than 50,0000 rows) and we used the gridview built-in paging and sorting. beside we also have nested grids (Expand/Collapse) for each row of the parent grid I am not sure if all of these functionalities can be achieved by MVC/Bootstrap. could you please, advise.
Hussain Mohammed Saleh Attiya ISP Technical Manager Atyaf Telcom - Bahrain
The main difference between ASP.NET Forms and MVC (except the strict separation of concerns), is where is your code-behind, if any... The main concerns you have to look for: 1. Time - MVC is not RAD!!! 2. Separation. While in ASP.NET Forms you could bend the rules and mix layers MVC will break under same conditions, and for that the design/develop cycle must be more precise and time consuming... 3. Knowledge of client side technologies... MVC gives you grate control over the final output of rendering, but it can be a burden as you HAVE TO take care for almost every details for your own... 4. OO? Not really. MVC views can not inherit the same way web forms do, so all the idea of master pages and inheritance must be redesigned... To make it clear - there is no actually anything will stop you from porting your application, but it will be a big challenge and you and your team will have to learn a lot of new things and ways of doing them... On a personal note: We are in the middle of a similar process. We are merging an ASP.NET Forms and a Win Forms application into a new - modern web application. We are talking about thousands of pages in the final project... Our final solution is to write our own framework, that enables developing the same way we used to do with Web Forms, but translates old style code to MVC like... So we actually mixing ASP.NET Forms and MVC in a way that still enables RAD development with full OO, but take advantages of the MVC (modern) based development...
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.
-
Nathan Minier wrote:
Your team will just need to be prepared to work more in JavaScript.
Why?
Because that's how event driven controls in are managed on a client system, and MVC does not provide a shake-and-bake ajax-supported event-driven control model. I mean, is that a trick question?
"There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli
-
Hi Professionals, We have a complex application developed in asp.net web forms and ajax. the Application is very heavy and contains many complex functions. Lengthy (Header/details) forms, Complicated Gridviews and all supported with ajax controls. the application has been enhanced for the last 10 years to keep it with the latest tehnology and trends. we are planning to do major enhancement to the application - converting it to HTML5 and jquery/bootstrap the developers advising to re-develop the application in MVC because it is fully support jquery/callback and bootstrap I am not sure if we can go to in this direction or not. the current application is event based. most of the events are handled in the server side. for example we have a form with many sections being displayed or hidden based on a selection from multiple dropdowns. for that we are using asp.net panel with visible property. and we have other screens with gridviews loading huge data (more than 50,0000 rows) and we used the gridview built-in paging and sorting. beside we also have nested grids (Expand/Collapse) for each row of the parent grid I am not sure if all of these functionalities can be achieved by MVC/Bootstrap. could you please, advise.
Hussain Mohammed Saleh Attiya ISP Technical Manager Atyaf Telcom - Bahrain
I'm currently porting my web forms app to MVC at the moment. Started last Jan 20, 2016 and plan to deploy it next Mar 2017. My web app was written in VB, so I had to convert to c# as well. Best call or decision I ever made. I can't wait to deploy the new app and run it. I thought about all the cool stuff I had already had ending up throwing in the trash and writing even better stuff to replace it. So now I have the whole setup, EF6, automatic migrations, node.js, bower, gulp, bootstrap, fontawesome; with automatic css, js, image compression on every build, and package updates. I can validate a form off a model or just in JQuery. I save 3 hours now every time I publish a change. It took me 6 months to really learn all of the above, but now I'm jamming fast creating very functional single page apps and so forth with very reusable code. Once you past the learn curve, your reusable code propels you forward at a very fast rate. I's say I'm 8X faster now than Web Forms. Those complex headers your asking about, you can write an Attribute "OnActionExecuting" class, that will do your header work, and add the name to the top of the controller Action to run it every time that action is called. I have a bunch of these now, one I use for shopping and checkout for security and to replace the Identity module. Ajax work is a breeze; for I have an Ajax controller that does nothing but ajax calls, returning a JsonResult; just pure json back. I don't know about the gridview, but suppose you can write something from scratch, it's just HTML. But HTML5 and Bootstrap has stuff that can replace it. IMO; wish I would of made the move years ago. Go for it!
Globalism is Socialism on a planetary scale.
-
I'm currently porting my web forms app to MVC at the moment. Started last Jan 20, 2016 and plan to deploy it next Mar 2017. My web app was written in VB, so I had to convert to c# as well. Best call or decision I ever made. I can't wait to deploy the new app and run it. I thought about all the cool stuff I had already had ending up throwing in the trash and writing even better stuff to replace it. So now I have the whole setup, EF6, automatic migrations, node.js, bower, gulp, bootstrap, fontawesome; with automatic css, js, image compression on every build, and package updates. I can validate a form off a model or just in JQuery. I save 3 hours now every time I publish a change. It took me 6 months to really learn all of the above, but now I'm jamming fast creating very functional single page apps and so forth with very reusable code. Once you past the learn curve, your reusable code propels you forward at a very fast rate. I's say I'm 8X faster now than Web Forms. Those complex headers your asking about, you can write an Attribute "OnActionExecuting" class, that will do your header work, and add the name to the top of the controller Action to run it every time that action is called. I have a bunch of these now, one I use for shopping and checkout for security and to replace the Identity module. Ajax work is a breeze; for I have an Ajax controller that does nothing but ajax calls, returning a JsonResult; just pure json back. I don't know about the gridview, but suppose you can write something from scratch, it's just HTML. But HTML5 and Bootstrap has stuff that can replace it. IMO; wish I would of made the move years ago. Go for it!
Globalism is Socialism on a planetary scale.
jkirkerx wrote:
My web app was written in VB, so I had to convert to c# as well.
I'm not sure you had to convert it - it's possible to write MVC using VB.NET: Getting Started with ASP.NET MVC 5 using Visual Basic[^] But it was probably a good move anyway. Most of the samples you find tend to be in C#, and you'll have fewer people mocking your choice of language. :D
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
Hi Professionals, We have a complex application developed in asp.net web forms and ajax. the Application is very heavy and contains many complex functions. Lengthy (Header/details) forms, Complicated Gridviews and all supported with ajax controls. the application has been enhanced for the last 10 years to keep it with the latest tehnology and trends. we are planning to do major enhancement to the application - converting it to HTML5 and jquery/bootstrap the developers advising to re-develop the application in MVC because it is fully support jquery/callback and bootstrap I am not sure if we can go to in this direction or not. the current application is event based. most of the events are handled in the server side. for example we have a form with many sections being displayed or hidden based on a selection from multiple dropdowns. for that we are using asp.net panel with visible property. and we have other screens with gridviews loading huge data (more than 50,0000 rows) and we used the gridview built-in paging and sorting. beside we also have nested grids (Expand/Collapse) for each row of the parent grid I am not sure if all of these functionalities can be achieved by MVC/Bootstrap. could you please, advise.
Hussain Mohammed Saleh Attiya ISP Technical Manager Atyaf Telcom - Bahrain
Thanks for everybody. After we viewed your replies. we are still evaluating
Hussain Mohammed Saleh Attiya Sr. System Analyst Gulf air - Bahrain
-
Because that's how event driven controls in are managed on a client system, and MVC does not provide a shake-and-bake ajax-supported event-driven control model. I mean, is that a trick question?
"There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli
Nathan Minier wrote:
MVC does not provide a shake-and-bake ajax-supported event-driven control model.
MVC does provide all of that, and these are possible, only fact is that we don't use this anymore. Download the boilerplate template, it contains most of Angular, Bootstrap. What are they? :-)
The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~
-
jkirkerx wrote:
My web app was written in VB, so I had to convert to c# as well.
I'm not sure you had to convert it - it's possible to write MVC using VB.NET: Getting Started with ASP.NET MVC 5 using Visual Basic[^] But it was probably a good move anyway. Most of the samples you find tend to be in C#, and you'll have fewer people mocking your choice of language. :D
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
More like translate it. I'm no writing any more VB programs in the future. much easier to write c# now and faster, less typing. Thanks Richard! Oh project is coming along sweet now. Been awhile since I asked for help with MVC, getting much better at it and the whole. Just love this stuff!
Globalism is Socialism on a planetary scale.
-
Nathan Minier wrote:
MVC does not provide a shake-and-bake ajax-supported event-driven control model.
MVC does provide all of that, and these are possible, only fact is that we don't use this anymore. Download the boilerplate template, it contains most of Angular, Bootstrap. What are they? :-)
The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~
Afzaal Ahmad Zeeshan wrote:
Download the boilerplate template, it contains most of Angular, Bootstrap. What are they? :)
They're JavaScript and CSS, not MVC.NET. That's kind of the point: you have a proper separation of concerns between the server and client processes.
"There are three kinds of lies: lies, damned lies and statistics." - Benjamin Disraeli