CodeBehind is a modern full-stack web framework under ASP.NET Core. CodeBehind was developed by Elanat in 2023 and competes with Microsoft's default web frameworks (ASP.NET Core MVC and Razor Pages and Blazor). CodeBehind is an engineering masterpiece that simultaneously provides the possibility of development based on MVC, Model-View, Controller-View, only View and Web-Forms. The type of structure and naming in CodeBehind is a nostalgia that reminds of former Microsoft Web-Forms. CodeBehind has nothing to do with the old web-form in .NET. In CodeBehind, you can use Razor syntax (@Razor) and standard syntax (<%=Standard%>). CodeBehind is .NET Diamond! In many scenarios, CodeBehind performs better than the default frameworks in ASP.NET Core.
$ dotnet add package CodeBehindCodeBehind library is a modern back-end framework and is an alternative to ASP.NET Core. This library is a programming model based on the MVC structure, which provides the possibility of creating dynamic aspx files in .NET Core and has high serverside independence. The aspx extension is the files of the view section in the CodeBehind framework and they supports standard syntax (<%=Standard%>) and Razor syntax (@Razor). This framework guarantees the separation of server-side codes from the design part (html) and there is no need to write server-side codes in the view.
Code Behind framework inherits every advantage of ASP.NET Core and gives it more simplicity, power and flexibility.
CodeBehind framework is an alternative to ASP.NET Core.
CodeBehind is .NET Diamond!
In every scenario, CodeBehind performs better than the default structure in ASP.NET Core.
View section: aspx page (razor syntax)
@page
@{
Random rand = new Random();
}
<div>
<h1>Random value: @rand.Next(1000000)</h1>
</div>View section: aspx page (standard syntax)
<%@ Page %>
<%
Random rand = new Random();
%>
<div>
<h1>Random value: <%=rand.Next(1000000)%></h1>
</div>View File: Default.aspx (razor syntax)
@page
@controller YourProjectName.DefaultController
@model YourProjectName.DefaultModel
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>@model.PageTitle</title>
</head>
<body>
@model.BodyValue
</body>
</html>View File: Default.aspx (standard syntax)
<%@ Page Controller="YourProjectName.DefaultController" Model="YourProjectName.DefaultModel" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title><%=model.PageTitle%></title>
</head>
<body>
<%=model.BodyValue%>
</body>
</html>Model File: Default.aspx.Model.cs
using CodeBehind;
namespace YourProjectName
{
public partial class DefaultModel : CodeBehindModel
{
public string PageTitle { get; set; }
public string BodyValue { get; set; }
}
}Controler File: Default.aspx.Controller.cs
using CodeBehind;
namespace YourProjectName
{
public partial class DefaultController : CodeBehindController
{
public DefaultModel model = new DefaultModel();
public void PageLoad(HttpContext context)
{
model.PageTitle = "My Title";
model.BodyValue = "HTML Body";
View(model);
}
}
}Program File: Program.cs
using CodeBehind;
using SetCodeBehind;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
+ CodeBehindCompiler.Initialization();
app.Run(async context =>
{
+ CodeBehindExecute execute = new CodeBehindExecute();
+ await context.Response.WriteAsync(execute.Run(context));
});
app.Run();Get from Elanat website:
Get from GitHub:
Get from Nuget (We added CodeBehind in Nuget so that you can access it easily):