CodeBehind 1.1.1

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package CodeBehind --version 1.1.1                
NuGet\Install-Package CodeBehind -Version 1.1.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CodeBehind" Version="1.1.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CodeBehind --version 1.1.1                
#r "nuget: CodeBehind, 1.1.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CodeBehind as a Cake Addin
#addin nuget:?package=CodeBehind&version=1.1.1

// Install CodeBehind as a Cake Tool
#tool nuget:?package=CodeBehind&version=1.1.1                

Code_behind

This library is a programming model based on the MVC structure, which provides the possibility of creating dynamic aspx files (similar to .NET standard) in .NET Core and has high serverside independence. <b>Soon we will expand this project so that in future versions you can experience both MVC and Code-Behind without coding in the view.</b>

aspx file in .NET Core

By using Code_behind, we will soon migrate Elanat framework from .NET Standard to .NET Core; during the migration, if we need to have simpler coding and need more maneuvers to do coding, we will add new features to Code_behind.

We added Code_behind in Nuget so that you can access it easily. You can use it in: https://www.nuget.org/packages/CodeBehind


View File: Default.aspx

<%@ Page Controller="YourProjectName.wwwroot.DefaultController" Model="YourProjectName.wwwroot.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.wwwroot
{
    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.wwwroot
{
    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();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();
}

+ CodeBehindCompiler.Initialization();

app.Run(async context =>
{
+    CodeBehindExecute execute = new CodeBehindExecute();
+    await context.Response.WriteAsync(execute.Run(context));
});

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.Run();

You can use the Write method in the model and controller classes; the Write method adds a string value to the ResponseText attribute; you can also change the values of the ResponseText attribute by accessing them directly.

In the controller class, there is an attribute named IgnoreViewAndModel attribute, and if you activate the IgnoreViewAndModel attribute, it will ignore the values of model and view and you will only see a blank page; this feature allows you to display the values you need to the user and avoid multiple redirects and transfers.

To receive the information sent through the form, you can follow the instructions below:

public DefaultModel model = new DefaultModel();
public void PageLoad(HttpContext context)
{
    if (!string.IsNullOrEmpty(context.Request.Form["btn_Add"]))
        btn_Add_Click();

    View(model);
}

private void btn_Add_Click()
{
    model.PageTitle = "btn_Add Button Clicked";
}
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.8.0 204 11/10/2024
3.7.2 194 10/22/2024
3.7.1 125 10/19/2024
3.7.0 124 10/14/2024
3.6.1 254 9/30/2024
3.6.0 302 9/9/2024
3.5.0 115 9/4/2024
3.4.1 199 8/27/2024
3.4.0 142 8/27/2024
3.3.0 157 8/24/2024
3.2.2 142 8/23/2024
3.2.1 160 8/16/2024
3.2.0 123 8/15/2024
3.1.0 126 8/15/2024
3.0.0 205 7/30/2024
2.9.2 107 7/24/2024
2.9.1 100 7/24/2024
2.9.0 99 7/22/2024
2.8.0 206 6/29/2024
2.7.1 257 6/16/2024
2.7.0 133 6/16/2024
2.6.0 140 6/10/2024
2.5.1 105 6/9/2024
2.5.0 208 5/20/2024
2.4.3 148 5/12/2024
2.4.2 183 3/31/2024
2.4.1 108 3/31/2024
2.4.0 190 3/5/2024
2.3.0 125 2/17/2024
2.2.0 148 1/26/2024
2.1.2 163 1/6/2024
2.1.1 118 1/5/2024
2.1.0 111 1/5/2024
2.0.0 174 12/23/2023
1.9.3 137 12/18/2023
1.9.2 154 12/9/2023
1.9.1 123 12/2/2023
1.9.0 138 11/30/2023
1.8.1 133 11/27/2023
1.8.0 129 11/26/2023
1.7.0 176 10/18/2023
1.6.1 145 10/18/2023
1.6.0 146 10/18/2023
1.5.2 165 9/28/2023
1.5.1 160 9/19/2023
1.5.0 135 9/13/2023
1.4.3 160 9/3/2023
1.4.2 169 8/30/2023
1.4.1 187 8/26/2023
1.4.0 140 8/23/2023
1.3.2 152 8/12/2023
1.3.1 157 8/12/2023
1.3.0 152 8/12/2023
1.2.0 178 7/24/2023
1.1.1 176 7/4/2023
1.1.0 168 7/3/2023
1.0.0 213 6/30/2023