© DrHitch/Shutterstock.com
Shortcuts
F#

6 Praxis: Lautsprecherberechnung mit ASP.NET MVC

Wenn Sie in Visual Studio mit einer der Standardvorlagen eine neue, leere Anwendung für ASP.NET MVC erzeugen, haben Sie lediglich die Wahl zwischen C# und Visual Basic als Implementierungssprachen. In jedem Fall erzeugt die Vorlage für Sie ein Projekt mit einigen Unterordnern und verschiedenen Standardelementen, wie zum Beispiel JavaScript-Dateien oder einer Fehlerseite. Für die Erzeugung eines MVC-Projekts mit F# als Sprache müssen Sie einen anderen Weg gehen, und die Syntax der Razor View Engine lehnt sich immer noch entweder an C# oder Visual Basic an. Letzteres ist in der Praxis kein großes Problem, da die Codeschnipsel in einer View-Datei gewöhnlich nicht so lang oder kompliziert sind, dass die Wahl der Programmiersprache besonders im Vordergrund steht.

Shortcut Autorenteam


Glücklicherweise haben fleißige Programmierer sich bereits die Mühe gemacht, Vorlagen für die Verwendung mit F# und ASP.NET MVC zu erzeugen und frei als Online-Template für Visual Studio verfügbar zu machen. Für das Beispiel in diesem shortcut wird eine Vorlage von Daniel Mohl verwendet, die unter dem Namen F# C# MVC 3 verfügbar ist. Hinweis: Es gibt eine weitere Vorlage vom selben Autor, die F# C# ASP.NET MVC3 heißt − diese bietet allerdings keine Unterstützung für die Razor View Engine!Mithilfe der Vorlage werden zwei Projekte erzeugt (optional ein drittes mit Tests, aber das ist für dieses Beispiel nicht relevant). Erstens eines, dessen Name auf „Web“ endet. Dies ist ein C#-Projekt, in dem sich die Ordner Content, Scripts und Views wiederfinden, die Sie aus „normalen“ MVC-Projekten kennen. Zweitens eines, dessen Name auf „WebApp“ endet, mit zwei F#-Dateien Global.fs und HomeController.fs. In diesem Projekt werden Modelle und Controller implementiert oder natürlich wiederum angebunden. Hier der Quelltext für die Klasse HomeController aus der Vorlage, als Beispiel dafür, wie solch ein Controller in F# aussieht:[]type HomeController() = inherit Controller() member x.Index() = x.View() :> ActionResultDie verwendeten Elemente kennen Sie bereits alle. Es wird ein neuer Klassentyp HomeController definiert, der von der MVC-Klasse Controller abstammt. Darin gibt es eine Methode Index, in der die geerbte Methode View aufgerufen wird − wie von MVC-Controllern gewohnt, erzeugt dieser Aufruf eine Ausgabe der Standard-View für diese Action-Methode. Das letzte verbleibende Element ist die Typumwandlung des Rückgabewerts nach ActionResult − dies brauchen Sie in C# nicht explizit zu tun. Stattdessen müssen Sie natürlich in C# den Rückgabetyp der Methode bereits zuvor deklarieren, was wiederum in F# nicht notwendig ist.6.1 EingabeUm dem Anwender eine visuelle Eingabemaske zu zeigen, brauchen Sie in einer ASP.NET-MVC-Anwendung eine View. Dafür gibt es eine Beschreibungsdatei im Format der verwendeten View Engine, hier also Razor. Eine andere Alternative wäre ASPX, das bereits von ASP.NET WebForms her bekannte Format − der Unterschied liegt in der Syntax, die innerhalb der Datei verwendet wird. Razor ist seit MVC Version 3 verfügbar und hat sich schnell als Standard etabliert, da es mit wesentlich einfacherer Syntax als ASPX und Programmierbarkeit mit einer C#-ähnlichen Syntax aufwartet.Eine View kann sich optional auf ein bestimmtes Modell beziehen, d...

Shortcuts
F#

6 Praxis: Lautsprecherberechnung mit ASP.NET MVC

Wenn Sie in Visual Studio mit einer der Standardvorlagen eine neue, leere Anwendung für ASP.NET MVC erzeugen, haben Sie lediglich die Wahl zwischen C# und Visual Basic als Implementierungssprachen. In jedem Fall erzeugt die Vorlage für Sie ein Projekt mit einigen Unterordnern und verschiedenen Standardelementen, wie zum Beispiel JavaScript-Dateien oder einer Fehlerseite. Für die Erzeugung eines MVC-Projekts mit F# als Sprache müssen Sie einen anderen Weg gehen, und die Syntax der Razor View Engine lehnt sich immer noch entweder an C# oder Visual Basic an. Letzteres ist in der Praxis kein großes Problem, da die Codeschnipsel in einer View-Datei gewöhnlich nicht so lang oder kompliziert sind, dass die Wahl der Programmiersprache besonders im Vordergrund steht.

Shortcut Autorenteam


Glücklicherweise haben fleißige Programmierer sich bereits die Mühe gemacht, Vorlagen für die Verwendung mit F# und ASP.NET MVC zu erzeugen und frei als Online-Template für Visual Studio verfügbar zu machen. Für das Beispiel in diesem shortcut wird eine Vorlage von Daniel Mohl verwendet, die unter dem Namen F# C# MVC 3 verfügbar ist. Hinweis: Es gibt eine weitere Vorlage vom selben Autor, die F# C# ASP.NET MVC3 heißt − diese bietet allerdings keine Unterstützung für die Razor View Engine!Mithilfe der Vorlage werden zwei Projekte erzeugt (optional ein drittes mit Tests, aber das ist für dieses Beispiel nicht relevant). Erstens eines, dessen Name auf „Web“ endet. Dies ist ein C#-Projekt, in dem sich die Ordner Content, Scripts und Views wiederfinden, die Sie aus „normalen“ MVC-Projekten kennen. Zweitens eines, dessen Name auf „WebApp“ endet, mit zwei F#-Dateien Global.fs und HomeController.fs. In diesem Projekt werden Modelle und Controller implementiert oder natürlich wiederum angebunden. Hier der Quelltext für die Klasse HomeController aus der Vorlage, als Beispiel dafür, wie solch ein Controller in F# aussieht:[]type HomeController() = inherit Controller() member x.Index() = x.View() :> ActionResultDie verwendeten Elemente kennen Sie bereits alle. Es wird ein neuer Klassentyp HomeController definiert, der von der MVC-Klasse Controller abstammt. Darin gibt es eine Methode Index, in der die geerbte Methode View aufgerufen wird − wie von MVC-Controllern gewohnt, erzeugt dieser Aufruf eine Ausgabe der Standard-View für diese Action-Methode. Das letzte verbleibende Element ist die Typumwandlung des Rückgabewerts nach ActionResult − dies brauchen Sie in C# nicht explizit zu tun. Stattdessen müssen Sie natürlich in C# den Rückgabetyp der Methode bereits zuvor deklarieren, was wiederum in F# nicht notwendig ist.6.1 EingabeUm dem Anwender eine visuelle Eingabemaske zu zeigen, brauchen Sie in einer ASP.NET-MVC-Anwendung eine View. Dafür gibt es eine Beschreibungsdatei im Format der verwendeten View Engine, hier also Razor. Eine andere Alternative wäre ASPX, das bereits von ASP.NET WebForms her bekannte Format − der Unterschied liegt in der Syntax, die innerhalb der Datei verwendet wird. Razor ist seit MVC Version 3 verfügbar und hat sich schnell als Standard etabliert, da es mit wesentlich einfacherer Syntax als ASPX und Programmierbarkeit mit einer C#-ähnlichen Syntax aufwartet.Eine View kann sich optional auf ein bestimmtes Modell beziehen, d...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang