[[oktatas:web|< Web]] ====== Blazor ====== * **Szerző:** Sallai András * Copyright (c) 2022, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== A Blazor ===== A Blazor egy szabad és nyílt forráskódú webes keretrendszer, ami 2018-ban jelent meg. A Blazor lehetővé teszik webalkalmazás fejlesztését C# nyelven. A Blazort az ASP.NET Core biztosítja. A kliensoldali része WebAssembly-ben fut. A Blazor segítségével SPA alkalmazás készíthető .NET alapokon. A Blazor a Razor Templating Engine-t használja. A Blazor projekt típusok: * Server * WASM ==== Server ==== * Szerveroldali renderelés (SSR, Server-Side Rendering) * Régebbi böngészőkben is működik. * API/Server kód privát * Sok memóriát igényel * Nincs offline támogatása ==== WASM ==== * natív sebesség * osztott kód * nincs szerveroldali függőség * modern böngészőre van szükség * hiányzik az élő újrtöltés ==== Összetevők ==== Direktívák: @page "/" @inject HttpClient Http Markup és Razor:

@cim

@if (valami = null) {

Töltés

}
Kód és logika: @code { private string cim = "Valami"; Valami valami; } ===== Fejlesztéshez ===== ==== .Net SDK ellenőrzése ==== dotent --version ==== VSCode bővítmény ==== * Blazor Snippet Pack ===== Alkalmazás készítése ===== dotnet new blazorserver -o App01 --no-https cd app01 A következő állományokat találjuk: * Program.cs - A program belépésipontja * App.razor - Az alkalmazás fő komponense * Pages/ - Néhány példa weblapokra * App01.csproj - a projekt leírása, függőségekkel * Properties/launchSettings.json - helyi beállítások A port száma 5000-5300 között lehet. A Blazor alkalmazások komponenseit lapoknak hívjuk. Minden lapot a "Pages" könyvtárba helyezünk. Minden Blazor komponens egy fájl. A tartalma könnyedén létrehozható a "Blazor Snippet Pack" VScode bővítménnyel, csak kezdjük el gépelni: blcomp ===== Futtatás ===== dotnet watch A futtatás a Ctrl+C billentyűkombinációval szakítható meg. Böngészőbe: http://localhost: Például: http://localhost:5000 ===== Adatkötés =====

Név újra: @nev

@code { string nev = "Barbara"; }
Ha szeretnénk, hogy a bevitellel egy időben változzon a minden kötés:
Egyszerűsíthető:
==== Jelölőnégyzet ====
Van kocsija: @haveCar
==== Rádiógomb ==== @page "/radiogomb"

Rádiógomb


Diploma: @piece @code { int piece = 1; }
==== Objektum ==== namespace app03.Data; public class Employee { public string? name { get; set; } public string? city { get; set; } public double salary { get; set; } } @page "/valami"

Valami

Név: @employee.name

Település: @employee.city

@using Data @code { Employee employee = new Employee() { name = "Némó Károly", city = "Szeged", salary = 2875000 }; }
==== Objektumok listában ==== namespace app03.Data; public class Employee { public string? name { get; set; } public string? city { get; set; } public double salary { get; set; } } @page "/employees" @foreach (var emp in emps) { }
Név Település Fizetés
@emp.name @emp.city @emp.salary
@using Data @code { Employee[] emps = new Employee[] { new Employee() {name= "Róbert", city = "Szeged", salary = 2475000}, new Employee() {name= "Tamás", city = "Szolnok", salary = 2475000} }; }
===== Forrás ===== * https://dotnet.microsoft.com/en-us/learn/aspnet/blazor-tutorial/intro (2022)