mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Merge pull request #21 from LD-Reborn/5-initial-creation-of-a-mock-backend-page
5 initial creation of a mock backend page
This commit is contained in:
8
.gitignore
vendored
8
.gitignore
vendored
@@ -1,4 +1,4 @@
|
|||||||
bin/*
|
src/bin/*
|
||||||
obj/*
|
src/obj/*
|
||||||
logs/*
|
src/logs/*
|
||||||
Elmah/*
|
src/Elmah/*
|
||||||
|
|||||||
25
src/Controllers/HomeController.cs
Normal file
25
src/Controllers/HomeController.cs
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Berufsschule_HAM.Models;
|
||||||
|
using Novell.Directory.Ldap;
|
||||||
|
using Berufsschule_HAM.Services;
|
||||||
|
|
||||||
|
[Route("[controller]")]
|
||||||
|
public class HomeController : Controller
|
||||||
|
{
|
||||||
|
private readonly LdapService _ldap;
|
||||||
|
|
||||||
|
public HomeController(LdapService ldap)
|
||||||
|
{
|
||||||
|
_ldap = ldap ?? throw new ArgumentNullException(nameof(ldap));
|
||||||
|
}
|
||||||
|
|
||||||
|
// GET: /Assets
|
||||||
|
[HttpGet("Index")]
|
||||||
|
[HttpGet("/")]
|
||||||
|
public IActionResult Index()
|
||||||
|
{
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -44,6 +44,6 @@ app.UseAuthorization();
|
|||||||
|
|
||||||
app.MapControllerRoute(
|
app.MapControllerRoute(
|
||||||
name: "default",
|
name: "default",
|
||||||
pattern: "{controller=Assets}/{action=Index}/{id?}");
|
pattern: "{controller=Home}/{action=Index}/{id?}");
|
||||||
|
|
||||||
app.Run();
|
app.Run();
|
||||||
|
|||||||
20
src/Views/Home/Index.cshtml
Normal file
20
src/Views/Home/Index.cshtml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
@{
|
||||||
|
ViewData["Title"] = "Home Page";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h1 class="display-4">Crashcourse zu "MVC"</h1>
|
||||||
|
<p>Die HTML, die grad gerendert wird, liegt in /Views/Home/ - dort sollte auch das Login später rein (bspw. als Login.cshtml)</p>
|
||||||
|
<p>Die Web-App folgt der MVC Struktur. D.h. man hat ein Model, ein View und einen Controller. (Wobei dieses View hier hat kein Model. Ist also mehr oder weniger optional.)</p>
|
||||||
|
<h2>McDonalds Vergleich:</h2>
|
||||||
|
<p>Der Controller ist der Kassierer; der nimmt die Informationen entgegen, verarbeitet diese und setzt eine Bestellnotiz zusammen.</p>
|
||||||
|
<p>Das Model ist die Bestellnotiz, die zur Küche weitergegeben wird mit den Informationen, wie es zubereitet werden muss.</p>
|
||||||
|
<p>Der View ist der Angestellte, der die Burger zusammensetzt; er kocht nichts und macht nichts groß kompliziertes, sondern tut nur die Teile in den Burger und gibt das Ergebnis zum Kassierer (d.h. Controller).</p>
|
||||||
|
<h2>Normale Erklärung:</h2>
|
||||||
|
<p>Ein Controller ist zwingend erforderlich und stellt den Endpoint unter einer Route bereit (d.h. das, was man im Browser eingibt, bspw. "/Home/Index")</p>
|
||||||
|
<p>Im Controller von diesem View ("/Controllers/HomeControllers.cs") findet man ein simples "return View();", was dafür sorgt, dass einfach diese .cshtml returned wird.</p>
|
||||||
|
<p>("Warum diese .cshtml?" - Bestimmt er selber anhand der Controller Route. Die Controller Route setzt er zusammen aus dem Namen der Klasse (wenn oberhalb der Klasse "[Route("[controller]")]" steht) und dem, was man vor eine Methode schreibt, bspw. "[HttpGet("Index")]" -> "/Home/Index" und "[HttpGet("/")]" -> "/".)</p>
|
||||||
|
<p>Wenn man Informationen vom Controller an das View übergeben will, tut man das mit einem Model; bspw. "return View(new AssetViewModel { cn = assetName, id = assetId });" </p>
|
||||||
|
<p>Ein Model ist ganz einfach eine Klasse, wie man sie kennt.</p>
|
||||||
|
<p>Logik kommt in den Controller und das HTML kommt in das View (... in der Praxis kommt ins View öfters mal auch bissl mehr Logik rein. Lässt sich nicht verhindern.)</p>
|
||||||
|
</div>
|
||||||
Reference in New Issue
Block a user