Quantcast
Channel: ppedv Team Blog
Viewing all articles
Browse latest Browse all 1198

asp.net core: das Visual Studio Projekt

$
0
0

dontet core ist das neue schlanke Framework für den C# und VB.NET Entwickler. Es steht im Wettbewerb zu node.js. Der Ansatz corss Platform ist bei beiden ident, nur das das eine mit Javascript und relativ heftig in der Kommandozeile und das Redmonder Produkt native .net ist und Visual Studio und die Kommando Zeile kann.

Die Artikel Serie richtet sich an den ASP.NET Webforms Entwickler und gibt einen einfachen Einstieg in die Entwicklung mit ASP.NET Core, der Razor View Engine und Visual Studio. Als Programmiersprache kommt C# zum Einsatz, weil aktuell keine Unterstützung für VB.NET vorhanden ist.

Starten Sie Visual Studio 2017 und legen ein neues Projekt an- Visual C# –.NET Core- ASP.NET Core Webanwendung- hier CoreBlog genannt

image

Wählen Sie im nächsten Dialog WebAnwendung aus. Beachten Sie die Version .NET Core 2.1

image

Die Projektstruktur umfasst folgende Verzeichnisse

  • wwwroot für statische Dateien, wie Images oder HTML
  • Pages für Razor Views und Modelle also die ASPX Seiten und Codebehind

Folgende Dateien steuern die Anwendung

  • Startup.cs für Konfiguration des Webservers und Anwendung per Code
  • appsettings.json Konfiguration statt web.config aber funktionell nicht vergleichbar
  • program.cs Einstiegspunkt in die Anwendung so in der Art wie global.asax

Unser Projekt hat bereits das Bootstrapping erledigt und umfasst alle Arten von Razor Dateien die nötig sind. Ein klassischer Ansatz von CRUD Ansicht – also ein Formular für Create Read Update und Delete wird in ein Unterverzeichnis Pages angelegt.

image

Das Projekt hat Initial folgende Razor View Dateien

_viewimports.cshtml

   1:  @using CoreBlog
   2:  @namespace CoreBlog.Pages
   3:  @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

 

Dies definiert sozusagen die Import aus der Page Direktive einer ASPX Seite. Zeile 3 aktiviert die MVC Taghelper, die lesbare Syntax im HTML Code nutzen um Funktion zu injizieren ala

image

_viewstart.cshtml

   1:  @{
   2:      Layout = "_Layout";
   3:  }

Die Datei entspricht einer Masterpage nur für Code. Erkennbar ist die typische @ Razor Syntax um Code in den HTML Part zu mischen.

Wobei diese Seite auf eine weitere Art Masterpage für Layout verweist. Die _Layout findet sich in Pages/Shared Verzeichnis. In diese Datei wird dann der HTML Frame und in der Regel dann z.B. die Links zu den Bibliotheken wie Bootstrap einbaut.

_Layout.cshtml

   1:  <!DOCTYPEhtml>
   2:  <html>
   3:  <head>
   4:  <metacharset="utf-8"/>
   5:  <metaname="viewport"content="width=device-width, initial-scale=1.0"/>
   6:  <title>@ViewData["Title"] - CoreBlog</title>
   7:   
   8:  <environmentinclude="Development">
   9:  <linkrel="stylesheet"href="~/lib/bootstrap/dist/css/bootstrap.css"/>
  10:  <linkrel="stylesheet"href="~/css/site.css"/>
  11:  </environment>
  12:  <environmentexclude="Development">
  13:  <linkrel="stylesheet"href="https://ajax.aspnetcdn.com/ajax/bootstrap/
3.3.7/css/bootstrap.min.css"
  14:  asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
  15:  asp-fallback-test-class="sr-only"asp-fallback-test-property="position"
asp-fallback-test-value="absolute"/>
  16:  <linkrel="stylesheet"href="~/css/site.min.css"asp-append-version="true"/>
  17:  </environment>
  18:  </head>
  19:  <body>

 

Die eigentliche Content Datei, hier about.cshtml enthält dann nur den Template HTML Code und den C#Code angeführt vom @ Zeichen (statt <%)

   1:  @page
   2:  @model AboutModel
   3:  @{
   4:      ViewData["Title"] = "About";
   5:  }
   6:  <h2>@ViewData["Title"]</h2>
   7:  <h3>@Model.Message</h3>

 

Letztendlich gibt es dann pro View eine Model Klasse, die der Codebehind Datei in Webforms entspricht.

about.cshtml.cs

   1:  namespace CoreBlog.Pages
   2:  {
   3:  publicclass AboutModel : PageModel
   4:      {
   5:  publicstring Message { get; set; }
   6:   
   7:  publicvoid OnGet()
   8:          {
   9:              Message = "Your application description page.";
  10:          }
  11:      }
  12:  }

Da ASP.NET MVC und auch Razor als alternative View Engine dem Routing Konzept folgt, wird je nach HTTP Verb (Get Post) eine entsprechende Methode, hier OnGet statt Page_load benötigt.


Viewing all articles
Browse latest Browse all 1198

Trending Articles


Vimeo 10.7.1 by Vimeo.com, Inc.


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Presence Quotes – Positive Quotes


EASY COME, EASY GO


Love with Heart Breaking Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.0 by Vimeo.com, Inc.


FORECLOSURE OF REAL ESTATE MORTGAGE


FORTUITOUS EVENT


Pokemon para colorear


Sapos para colorear


Smile Quotes


Letting Go Quotes


Love Song lyrics that marks your Heart


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Long Distance Relationship Tagalog Love Quotes