DEV Community

Cover image for CodeBehind Turns Two Years Old
Elanat Framework
Elanat Framework

Posted on

CodeBehind Turns Two Years Old

Today, June 30, 2025, CodeBehind turns two years old. Happy Birthday CodeBehind!

CodeBehind is a powerful and versatile third-party framework on .NET that competes with Microsoft's web frameworks (ASP.NET MVC, Razor Pages, and Blazor). The framework is built by Elanat.

The first year of CodeBehind ended with the release of version 2.8. After the first year, with around-the-clock modeling and testing efforts, we were able to create the WebForms Core technology and put it into the core of CodeBehind. This technology was added to CodeBehind in version 2.9. The addition of WebForms Core technology to the core of CodeBehind transformed CodeBehind from a back-end framework to a full-stack versatile framework.

WebForms Core is a revolutionary technology for managing HTML tags from the server side.

Example:

WebForms form = new WebForms();

form.SetDisabled("Button1");
form.SetBackgroundColor("<body>", "yellow");

Control(form, true);
Enter fullscreen mode Exit fullscreen mode

The above example disables the submit button and makes the body tag background yellow.

This was a very simple example; WebForms Core technology has extensive features for full HTML management (such as drag and drop) to compete with front-end frameworks.

During the second year, in addition to the addition of WebForms Core technology, we also saw the addition of WebSocket protocol support, advanced cache capabilities, and many other improvements and improvements, and now version 4.2 is the latest version of the CodeBehind framework.

The following list shows the new features of the CodeBehind framework in the second year:

New features on new versions

Version 2.9

New features:

  • Added WebFormsJS
  • Added support for Web-Forms controls
  • Added PostBack and GetBack method
  • Added possibility to ignore Layout through Controller class and Model class and View page
  • Added possibility to ignore View through Model class
  • Added IgnoreAll method in Controller class and Model class
  • Automatic moving of dll files from the wwwroot/dll path to the designated View path
  • And a series of minor changes and improvements

In this version, access to Web-Forms controls has been added

Version 2.9.1

Problems that were solved:

  • Fixing server response location problem in WebFormsJS.

Version 2.9.2

Problems that were solved:

  • Better identification of the PostBack method in submit type inputs in WebFormsJS.

Version 3.0

New features:

  • Improved implementation structure of Action Controls for the first browser request
  • Extending WebForms class methods to support new WebFormsJS features
  • Support for specifying the location of the tag to place the data received from the server in WebFormsJS
  • Added new web-forms tag in WebFormsJS
  • Multiple ViewState types in PostBack and GetBack methods in WebFormsJS
  • Support for Pre Runners and running them back to back in the queue in WebFormsJS
  • Script code execution support in WebFormsJS
  • Support delay and repetition in time intervals in WebFormsJS
  • Support for negative indexes to access values ​​from the end of the list in WebFormsJS
  • Support for calling URLs in WebFormsJS
  • Improving the functionality of HtmlData classes by adding new methods
  • And a series of minor changes and improvements

Version 3.1

New features:

  • Better compatibility with older browsers in WebFormsJS
  • And a series of minor changes and improvements

Problems that were solved:

  • Solved the problem of other operating systems not working due to the wrong determination of the separator of directories in the path.

Version 3.2

New features:

  • Support for default Controller
    • Support for Section mode in the default Controller

Version 3.2.1

Problems that were solved:

  • Fixed extra line issue in Razor syntax code blocks
  • Fixed a minor problem in creating the list of Sections in Controllers

Version 3.2.2

New features:

  • Adding manual cache class
  • Improving the source code of CodeBehind classes

Problems that were solved:

  • Resolving the problem of detecting else after else if in Razor syntax
  • Adaptation of WebForms class with delay and period

Version 3.3

New features:

  • Adding two middleware named UseCodeBehindNextNotFound and UseCodeBehindRouteNextNotFound to continue the process if the page or controller is not found

Problems that were solved:

  • Resolving the problem of detecting multi line between text tag in Razor syntax code blocks
  • Solving the problem of ignoring cache parameters
  • Solving the problem of additional default code in the switch case code for load Controllers
  • A series of other minor corrections

Version 3.4

New features:

  • Structure improvements for faster execution and increased performance

Problems that were solved:

  • Fixed issue of not allocating controller attributes

Version 3.4.1

Problems that were solved:

  • The problem of program break in calling View was solved

Version 3.5

New features:

  • Ability to support conditional expressions and loops without needing brackets in Razor syntax
  • New options for accessing controllers, in lower case
  • Adding an option to create or not create default pages in the options file
  • Adding option to ignore the controller name prefix and suffix
  • Adding option to convert two underlines into a single dash to call the controller name
  • And a series of minor changes and improvements

Problems that were solved:

  • Fixed location tag detection issue when calling back in WebFormsJS

Version 3.6

New features:

  • Improved performance for making final View classes
  • Added SetViewPath method in Controller class
  • Added SetErrorPage method in Controller class
  • And a series of minor changes and improvements

Problems that were solved:

  • Fixing the problem of not adding the log file to display errors in View files

Version 3.6.1

New features:

  • Adding extension method named Has to be used instead of string.IsNullOrEmpty
  • Creating a null state for Layout to set the global Layout value

Version 3.7

New features:

  • The possibility of IgnoreAll in the Control method in the Controller class
  • The possibility of appending the instance created from the WebForms class to another created instance
  • Ability to add new text and tags at the beginning of the tag
  • Ability to cache action control
  • The possibility of adding text at the beginning of the tag
  • The possibility of creating a tag at the beginning of the tag
  • Ability to delete all option tags
  • Ability to delete all checkbox tags
  • Added the ability to focus on tags
  • Ability to change the URL in the user's browser
  • Added new cache and session features with the ability to insert and delete and delete all and cache duration
  • Ability to temporarily store values ​​in the browser cache session
  • The possibility of assigning random numbers to the attributes of tags
  • Ability to assign time and date
  • Ability to assign session and cache
  • Ability to assign scripts
  • Other features and improvements

Version 3.7.1

Problems that were solved:

  • Fixing the problem of saving title tags

Version 3.7.2

Problems that were solved:

  • Add trim to better detect Action Controls responses

Version 3.8

New features:

  • Change the default template
  • Ability to add a new tag, before and after the tag

Version 3.9

New features:

  • New TagBack feature for executing web-forms tag control actions
  • Ability to assign Events to HTML tags
  • Ability to delete action controls of the WebForms class
  • New method for inserting web-forms tag without first render
  • The possibility of deleting events
  • Other features and improvements

In this version it is possible to add events in WebForms Core

Version 3.9.1

Problems that were solved:

  • Fixing the problem of having double cue instead of cue in event methods

Version 3.9.2

New features:

  • Security coordination with MapStaticAssets middleware in .NET 9

Version 4.0

New features:

  • Support for multiple responses in Action Controls
  • Possibility of internal client caching on server responses
  • New feature of sending values ​​embedded in the names of submit inputs
  • Ability to select parent input places in WebForms Core
  • New ability to remove parent tag in WebForms Core
  • New ability to fetch cookie in WebForms Core
  • Added AddLine method to support extended multi-command methods
  • And a series of minor changes and improvements

Version 4.1

New features:

  • WebSocket protocol support in WebForms Core technology
    • Ability to specify IDs for WebSockets in the controller, model and view
    • Ability to broadcast data for WebSockets with filtering in controller, model and view
    • Ability to set the maximum number of WebSocket connections for the client
    • Ability to add WebSocket events in WebForms Core technology
    • Added new middleware to support WebSocket
    • Ability to submit form data via WebSocket protocol
  • New mechanism for efficiently adding and removing events
  • Improving GetBack and PostBack methods in WebFormsJS library
  • And a series of minor changes and improvements

Version 4.1.1

Problems that were solved:

  • Fixing the problem of determining client ID in WebSocket

Version 4.2

New features:

  • Checking browser support in WebFormsJS
  • Ability to permanently store values ​​in localStorage in WebForms Core
  • Replacing event instead of this and preserving sending with async in WebForms Core
  • Automatically clearing expired caches in WebForms Core
  • Executing the onload event after assignment in tags in WebForms Core
  • Using efficient methods instead of innerHTML and outerHTML in WebForms Core
  • New GoTo feature to return to previous lines of Action Controls with the ability to specify the repetition rate in WebForms Core
  • Ability to access the tag in which the event was executed (current or target) in WebForms Core
  • New method to add hidden tags more easily in WebForms Core
  • Improved support for adding attributes and the ability to specify the splitter character in WebForms Core
  • Improved the cb_AddEvent and cb_AddEventListener methods in WebForms Core
  • Adding the ability to add PreventDefault and StopPropagation methods to events in WebForms Core
  • Ability to save and restore line by line in WebForms Core
  • Ability to save and restore INI format in WebForms Core
  • Ability to save and restore URL in WebForms Core
  • Accessibility by selected key name in WebForms Core
  • Ability to access mouse position on page in WebForms Core
  • Ability to access tag index in WebForms Core
  • Optimization to preserve event listeners after changing internal tags
  • And a series of minor changes and improvements

Related links

CodeBehind on GitHub:
https://github.com/elanatframework/Code_behind

Get CodeBehind from NuGet:
https://www.nuget.org/packages/CodeBehind/

CodeBehind page:
https://elanat.net/page_content/code_behind

WebForms Core organization on GitHub:
https://github.com/webforms-core

Top comments (1)

Collapse
 
aspxone-official profile image
AspXone

Happy for you 😊! Today is when Aspxone turned 1 month old