Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Web Development
  3. ASP.NET
  4. Re-Developing asp.net webform to MVC

Re-Developing asp.net webform to MVC

Scheduled Pinned Locked Moved ASP.NET
asp-netcsscsharpjavascripthtml
12 Posts 7 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Nathan Minier

    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

    F Offline
    F Offline
    F ES Sitecore
    wrote on last edited by
    #3

    Nathan Minier wrote:

    Your team will just need to be prepared to work more in JavaScript.

    Why?

    N 1 Reply Last reply
    0
    • H hussain attiya

      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

      F Offline
      F Offline
      F ES Sitecore
      wrote on last edited by
      #4

      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.

      1 Reply Last reply
      0
      • H hussain attiya

        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

        Kornfeld Eliyahu PeterK Offline
        Kornfeld Eliyahu PeterK Offline
        Kornfeld Eliyahu Peter
        wrote on last edited by
        #5

        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.

        "It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox

        1 Reply Last reply
        0
        • F F ES Sitecore

          Nathan Minier wrote:

          Your team will just need to be prepared to work more in JavaScript.

          Why?

          N Offline
          N Offline
          Nathan Minier
          wrote on last edited by
          #6

          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

          A 1 Reply Last reply
          0
          • H hussain attiya

            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

            J Offline
            J Offline
            jkirkerx
            wrote on last edited by
            #7

            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.

            Richard DeemingR 1 Reply Last reply
            0
            • J jkirkerx

              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.

              Richard DeemingR Offline
              Richard DeemingR Offline
              Richard Deeming
              wrote on last edited by
              #8

              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

              "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

              J 1 Reply Last reply
              0
              • H hussain attiya

                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

                H Offline
                H Offline
                hussain attiya
                wrote on last edited by
                #9

                Thanks for everybody. After we viewed your replies. we are still evaluating

                Hussain Mohammed Saleh Attiya Sr. System Analyst Gulf air - Bahrain

                1 Reply Last reply
                0
                • N Nathan Minier

                  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

                  A Offline
                  A Offline
                  Afzaal Ahmad Zeeshan
                  wrote on last edited by
                  #10

                  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 !~

                  N 1 Reply Last reply
                  0
                  • Richard DeemingR Richard Deeming

                    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

                    J Offline
                    J Offline
                    jkirkerx
                    wrote on last edited by
                    #11

                    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.

                    1 Reply Last reply
                    0
                    • A Afzaal Ahmad Zeeshan

                      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 !~

                      N Offline
                      N Offline
                      Nathan Minier
                      wrote on last edited by
                      #12

                      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

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups