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. The Lounge
  3. Why ASP.Net classic sucks today

Why ASP.Net classic sucks today

Scheduled Pinned Locked Moved The Lounge
csharphtmlasp-netcomsysadmin
14 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.
  • A Offline
    A Offline
    Andy Brummer
    wrote on last edited by
    #1

    So, I work on a pretty standard web app. The main page has a telerik tab control, which dynamically loads a different server control based on the active tab. My task was to pull one of those controls out and put it on a separate page and put a link in the header to the new page. 10 minutes of work tops. Everything worked fine, but 3 of the telerik combo boxes stopped saving their value. After getting another developer involved after a couple of hours we figured it out. The combo box contents were set during the on load event, which worked when they were dynamically loaded because onload fired immediately. When I put the control into the markup, the data change events fired before the onload. Finding that should have been trivial, but another little puzzle distracted me. Some of the combo boxes worked because they had viewstate enabled and had an empty items collection in the markup. So dropdowns that had completely dynamic contents worked fine, but those with mixed content sources failed because having an item in the markup prevented viewstate from working. And yes, using controls with viewstate is a huge #$@#23 in and of itself.

    Curvature of the Mind now with 3D

    P A E 3 Replies Last reply
    0
    • A Andy Brummer

      So, I work on a pretty standard web app. The main page has a telerik tab control, which dynamically loads a different server control based on the active tab. My task was to pull one of those controls out and put it on a separate page and put a link in the header to the new page. 10 minutes of work tops. Everything worked fine, but 3 of the telerik combo boxes stopped saving their value. After getting another developer involved after a couple of hours we figured it out. The combo box contents were set during the on load event, which worked when they were dynamically loaded because onload fired immediately. When I put the control into the markup, the data change events fired before the onload. Finding that should have been trivial, but another little puzzle distracted me. Some of the combo boxes worked because they had viewstate enabled and had an empty items collection in the markup. So dropdowns that had completely dynamic contents worked fine, but those with mixed content sources failed because having an item in the markup prevented viewstate from working. And yes, using controls with viewstate is a huge #$@#23 in and of itself.

      Curvature of the Mind now with 3D

      P Offline
      P Offline
      Pete OHanlon
      wrote on last edited by
      #2

      Please change your title. I feel mine is more accurate about ASP.NET in general - and how crappy stateless programming can be.

      I'm not a stalker, I just know things. Oh by the way, you're out of milk.

      Forgive your enemies - it messes with their heads

      My blog | My articles | MoXAML PowerToys | Onyx

      A 1 Reply Last reply
      0
      • P Pete OHanlon

        Please change your title. I feel mine is more accurate about ASP.NET in general - and how crappy stateless programming can be.

        I'm not a stalker, I just know things. Oh by the way, you're out of milk.

        Forgive your enemies - it messes with their heads

        My blog | My articles | MoXAML PowerToys | Onyx

        A Offline
        A Offline
        Andy Brummer
        wrote on last edited by
        #3

        I'll stand by the succinctness of my title, though yours is more accurate. Stateless programming can be pretty sweet. Trying to fake a stateful model on top of something inherently stateless and high latency is just a disaster.

        Curvature of the Mind now with 3D

        P J 2 Replies Last reply
        0
        • A Andy Brummer

          I'll stand by the succinctness of my title, though yours is more accurate. Stateless programming can be pretty sweet. Trying to fake a stateful model on top of something inherently stateless and high latency is just a disaster.

          Curvature of the Mind now with 3D

          P Offline
          P Offline
          Pete OHanlon
          wrote on last edited by
          #4

          Andy Brummer wrote:

          Trying to fake a stateful model on top of something inherently stateless and high latency is just a disaster.

          That's true - but what's worse is taking something that should be stateful and then running it on an environment that you need to jump through hoops to make stateful because some idiot decided that a desktop application should be written to be delivered via t'browser, because that way you don't have to deploy anything.

          I'm not a stalker, I just know things. Oh by the way, you're out of milk.

          Forgive your enemies - it messes with their heads

          My blog | My articles | MoXAML PowerToys | Onyx

          A 1 Reply Last reply
          0
          • P Pete OHanlon

            Andy Brummer wrote:

            Trying to fake a stateful model on top of something inherently stateless and high latency is just a disaster.

            That's true - but what's worse is taking something that should be stateful and then running it on an environment that you need to jump through hoops to make stateful because some idiot decided that a desktop application should be written to be delivered via t'browser, because that way you don't have to deploy anything.

            I'm not a stalker, I just know things. Oh by the way, you're out of milk.

            Forgive your enemies - it messes with their heads

            My blog | My articles | MoXAML PowerToys | Onyx

            A Offline
            A Offline
            Andy Brummer
            wrote on last edited by
            #5

            Still not as bad as an out of date 4GL app from the 90s hosting a vb6 ocx hosting internet explorer 5.0 connecting to an asp.net app which dynamically loads half of its C# code from a database simulation of a file system, as well as all it's navigation and most of it's ui. That would be the worst of all possible worlds. Thank everything I don't work with that anymore. :-D

            Curvature of the Mind now with 3D

            W G 2 Replies Last reply
            0
            • A Andy Brummer

              So, I work on a pretty standard web app. The main page has a telerik tab control, which dynamically loads a different server control based on the active tab. My task was to pull one of those controls out and put it on a separate page and put a link in the header to the new page. 10 minutes of work tops. Everything worked fine, but 3 of the telerik combo boxes stopped saving their value. After getting another developer involved after a couple of hours we figured it out. The combo box contents were set during the on load event, which worked when they were dynamically loaded because onload fired immediately. When I put the control into the markup, the data change events fired before the onload. Finding that should have been trivial, but another little puzzle distracted me. Some of the combo boxes worked because they had viewstate enabled and had an empty items collection in the markup. So dropdowns that had completely dynamic contents worked fine, but those with mixed content sources failed because having an item in the markup prevented viewstate from working. And yes, using controls with viewstate is a huge #$@#23 in and of itself.

              Curvature of the Mind now with 3D

              A Offline
              A Offline
              AspDotNetDev
              wrote on last edited by
              #6

              Isn't it called "classic ASP"? I thought ASP.net was the successor of classic ASP.

              [WikiLeaks Cablegate Cables]

              A 1 Reply Last reply
              0
              • A Andy Brummer

                Still not as bad as an out of date 4GL app from the 90s hosting a vb6 ocx hosting internet explorer 5.0 connecting to an asp.net app which dynamically loads half of its C# code from a database simulation of a file system, as well as all it's navigation and most of it's ui. That would be the worst of all possible worlds. Thank everything I don't work with that anymore. :-D

                Curvature of the Mind now with 3D

                W Offline
                W Offline
                wizardzz
                wrote on last edited by
                #7

                Andy Brummer wrote:

                an out of date 4GL app from the 90s hosting a vb6 ocx hosting internet explorer 5.0 connecting to an asp.net app which dynamically loads half of its C# code from a database simulation of a file system

                Oh, so you work here too? Thankfully I don't work on that mess.

                "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

                1 Reply Last reply
                0
                • A AspDotNetDev

                  Isn't it called "classic ASP"? I thought ASP.net was the successor of classic ASP.

                  [WikiLeaks Cablegate Cables]

                  A Offline
                  A Offline
                  Andy Brummer
                  wrote on last edited by
                  #8

                  I think the technical designation would be asp.net webforms as opposed to asp.net mvc, or bolting on a number of other view engines. I just think of it as asp.net classic.

                  Curvature of the Mind now with 3D

                  A 1 Reply Last reply
                  0
                  • A Andy Brummer

                    I think the technical designation would be asp.net webforms as opposed to asp.net mvc, or bolting on a number of other view engines. I just think of it as asp.net classic.

                    Curvature of the Mind now with 3D

                    A Offline
                    A Offline
                    AspDotNetDev
                    wrote on last edited by
                    #9

                    Gotcha.

                    [WikiLeaks Cablegate Cables]

                    1 Reply Last reply
                    0
                    • A Andy Brummer

                      I'll stand by the succinctness of my title, though yours is more accurate. Stateless programming can be pretty sweet. Trying to fake a stateful model on top of something inherently stateless and high latency is just a disaster.

                      Curvature of the Mind now with 3D

                      J Offline
                      J Offline
                      Jorgen Andersson
                      wrote on last edited by
                      #10

                      It's not a disaster, it's an art to master. A little bit like taking a Reliant Robin to a race track.

                      List of common misconceptions

                      A 1 Reply Last reply
                      0
                      • A Andy Brummer

                        So, I work on a pretty standard web app. The main page has a telerik tab control, which dynamically loads a different server control based on the active tab. My task was to pull one of those controls out and put it on a separate page and put a link in the header to the new page. 10 minutes of work tops. Everything worked fine, but 3 of the telerik combo boxes stopped saving their value. After getting another developer involved after a couple of hours we figured it out. The combo box contents were set during the on load event, which worked when they were dynamically loaded because onload fired immediately. When I put the control into the markup, the data change events fired before the onload. Finding that should have been trivial, but another little puzzle distracted me. Some of the combo boxes worked because they had viewstate enabled and had an empty items collection in the markup. So dropdowns that had completely dynamic contents worked fine, but those with mixed content sources failed because having an item in the markup prevented viewstate from working. And yes, using controls with viewstate is a huge #$@#23 in and of itself.

                        Curvature of the Mind now with 3D

                        E Offline
                        E Offline
                        Edbert P
                        wrote on last edited by
                        #11

                        Sounds more like an issue with the Telerik controls more than the ASP.NET classic per se. These controls do produce a lot of garbage on the page though.

                        "A democracy is nothing more than mob rule, where fifty-one percent of the people may take away the rights of the other forty-nine." - Thomas Jefferson "Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote." - Benjamin Franklin Edbert Sydney, Australia

                        A 1 Reply Last reply
                        0
                        • E Edbert P

                          Sounds more like an issue with the Telerik controls more than the ASP.NET classic per se. These controls do produce a lot of garbage on the page though.

                          "A democracy is nothing more than mob rule, where fifty-one percent of the people may take away the rights of the other forty-nine." - Thomas Jefferson "Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote." - Benjamin Franklin Edbert Sydney, Australia

                          A Offline
                          A Offline
                          Andy Brummer
                          wrote on last edited by
                          #12

                          There are a couple of complicated issues interacting. The one that has burned me many many times is that the containing control load, data change, databind, inner control load events can all fire in different orders depending on how the controls are loaded. The effects of that are seen in all the before/after events that keep getting added to make sure things go in the correct order in all possible cases. Not having a well defined order for the events is the core issue. I think the approach of having super configurable uber controls the problem with telerik, unfortunately that is what most devs want. Once you have too many options, the controls just too bulky and are too hard to test.

                          Curvature of the Mind now with 3D

                          1 Reply Last reply
                          0
                          • J Jorgen Andersson

                            It's not a disaster, it's an art to master. A little bit like taking a Reliant Robin to a race track.

                            List of common misconceptions

                            A Offline
                            A Offline
                            Andy Brummer
                            wrote on last edited by
                            #13

                            Jörgen Andersson wrote:

                            It's not a disaster, it's an art to master.

                            More power to you, but I'm going MVC as soon as I get a chance.

                            Curvature of the Mind now with 3D

                            1 Reply Last reply
                            0
                            • A Andy Brummer

                              Still not as bad as an out of date 4GL app from the 90s hosting a vb6 ocx hosting internet explorer 5.0 connecting to an asp.net app which dynamically loads half of its C# code from a database simulation of a file system, as well as all it's navigation and most of it's ui. That would be the worst of all possible worlds. Thank everything I don't work with that anymore. :-D

                              Curvature of the Mind now with 3D

                              G Offline
                              G Offline
                              Gary R Wheeler
                              wrote on last edited by
                              #14

                              And I thought I worked on a convoluted mess...

                              Software Zen: delete this;

                              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