
Become a full-stack C# developer by building front-end and back-end skills using only C#, exploring two database access methods for SQL Server—older approach and Entity Framework Core—and API development.
Learn to execute methods in a Blazor app by wiring on click events to void or task methods, using parameters and lambdas, including external or static methods.
Declare string variables and use a code wrapper on the blazer index page, then display them via C# bindings and implement on input versus focus-loss binding for real-time updates.
Explore handling mouse events inside a div by accessing event arguments to read x and y coordinates, using a lambda expression and MouseEventArgs in a C# context.
Demonstrate a quick example of building a multi-select UI in C# using a dictionary of options with boolean values, toggling selections, and displaying the selected items.
Clean up the template and set up basic navigation in a blazer app by creating new pages, configuring routes, and simplifying the solution explorer.
Learn to add parameters in blazer routes using query string parameters and component parameters. Declare a public string with get and set, annotate with [Parameter], and map it to route.
Learn to fetch a parameter by key from the query string in a page using the navigation manager and the HTP utility, parsing into a dictionary and displaying it.
Learn how to navigate between pages in a Blazor app using the navigation manager, routing to in-app pages or external URLs, with route syntax and optional force reload.
Explore creating components and their parameters in a full-stack c# app, using public get; set; pass data types, and avoid equals sign for component parameters while noting string-only query strings.
Create custom binds on Razor components by exposing public parameters and an event callback, binding value one to input changes for two-way binding between the component and its consumer.
Learn how to implement custom events in components using event callbacks and pass a string parameter. Build a test component to demonstrate invoking the event on a specific action.
Use component references in Blazor to access a child from a parent. Expose a public method and fields, call via the reference, and trigger updates with state has changed.
Build an add and display list by building an item component, a product model with id, price, units, total, binding inputs, submitting, and rendering the list with list item component.
Learn to call a JavaScript function from C# in Blazor using IJSRuntime, passing arguments and handling returns with invoke or invoke void.
Learn to implement a native file picker in Blazer by hiding the input file behind a button, supporting single or multiple file selection, and streaming files for API uploads.
Execute a background task in blazer to update the UI with a new random number every two seconds, using state has changed after each update.
Learn how to create and integrate Blaser libraries as class libraries, add components and CSS, reference projects, and enable JavaScript interop with proper content paths.
Create an empty NBC controller, add two action methods for basic string and basic integer, expose routes, and test responses with Postman.
Explore routing options in mvc controllers, including controller-wide routes and per-action routes for test1 and test2, with get and post constraints and hands-on testing.
Explore how to send data to a C# API action using form data, query string, and raw body, and learn how to read request data.
Learn three ways to send and read API data, including query strings and forms, culminating in the modern from body approach with a class model.
Learn to read cookies and headers from requests, add headers and cookies in responses, and test with Postman, using cookie options like expiration; recognize why cookies are often avoided.
Explore sending data with a response in http requests, returning a test model and using memory stream or file stream result with content types for browser downloads.
Explore a bare-bones action-filter approach to authorization in a Web API by creating an authorize offerings attribute and checking the authorization header before actions execute.
Learn how to implement dependency injection in API controllers, register services as singletons, and inject them via constructor or from services attribute with simple examples.
Learn modern api calls with Blazor using http client, sending get and post requests, handling json models and responses, configuring base address, headers, and using regions to organize code.
Establish a server-side WebSocket in a web API and Blazor project, configure the endpoint, handle connections, and exchange text data every three seconds using a buffer.
Build a C# WebSocket client in a Blazor page, sending messages on click and receiving server updates every three seconds with a bound input and status display.
C# the most universal programming language out there, it gives you an ability to develop web applications, desktop applications and much more. In this course we will focus on web development, from the database to the front-end client. After finishing this course, you will be able to develop your applications on your own.
For the databases, you will learn how to setup SQL server in Windows server environment and with that - two ways of interacting with databases from your C# code. One of them (ADO.NET) will be more rudimentary and the other way (Entity Framework Core) will be more modern and in some cases more simple in the short run.
On the backend, you will learn how to build .NET 5 APIs (C# APIs). It will be done in a very straightforward way and it will not take too much time to learn.
For the front-end, you will learn how to use the most modern way of developing web applications - Blazor. This technology allows you to run C# code directly on the Browser and with that, you will C# instead of JavaScript for your front-end logic. Alongside the Blazor technology itself, you will learn how to interact with APIs in a very modern and convenient way. You will also learn how to establish a WebSocket connection between your client and server.