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);
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
afterelse if
in Razor syntax - Adaptation of WebForms class with delay and period
Version 3.3
New features:
- Adding two middleware named
UseCodeBehindNextNotFound
andUseCodeBehindRouteNextNotFound
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 theswitch 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 ofstring.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
andPostBack
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 ofthis
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
andouterHTML
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
andcb_AddEventListener
methods in WebForms Core - Adding the ability to add
PreventDefault
andStopPropagation
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)
Happy for you 😊! Today is when Aspxone turned 1 month old