MVC Framework - Controller
Asp.net MVC-Controller sind für die Steuerung des Ablaufs der Anwendungsausführung verantwortlich. Wenn Sie eine Anfrage (dh eine Seite anfordern) an die MVC-Anwendung senden, ist ein Controller dafür verantwortlich, die Antwort auf diese Anfrage zurückzugeben. Die Steuerung kann eine oder mehrere Aktionen ausführen. Die Controller-Aktion kann verschiedene Arten von Aktionsergebnissen an eine bestimmte Anforderung zurückgeben.
Der Controller ist für die Steuerung der Anwendungslogik verantwortlich und fungiert als Koordinator zwischen der Ansicht und dem Modell. Der Controller empfängt über die Ansicht eine Eingabe von den Benutzern, verarbeitet dann die Benutzerdaten mit Hilfe von Model und gibt die Ergebnisse an die Ansicht zurück.
Erstellen Sie einen Controller
So erstellen Sie einen Controller:
Step 1 - Erstellen Sie eine leere MVC-Anwendung und klicken Sie mit der rechten Maustaste auf den Controller-Ordner in Ihrer MVC-Anwendung.
Step 2- Wählen Sie die Menüoption Hinzufügen → Controller. Nach der Auswahl wird das Dialogfeld Controller hinzufügen angezeigt. Benennen Sie den Controller alsDemoController.
Eine Controller-Klassendatei wird wie im folgenden Screenshot gezeigt erstellt.
Erstellen Sie einen Controller mit IController
In MVC Framework müssen Controller-Klassen die IController-Schnittstelle aus dem System.Web.Mvc-Namespace implementieren.
public interface IController {
void Execute(RequestContext requestContext);
}
Dies ist eine sehr einfache Schnittstelle. Die einzige Methode, Ausführen, wird aufgerufen, wenn eine Anforderung auf die Controller-Klasse abzielt. Das MVC Framework erkennt anhand des Werts der von den Routingdaten generierten Controller-Eigenschaft, auf welche Controller-Klasse in einer Anforderung abgezielt wurde.
Step 1- Fügen Sie eine neue Klassendatei hinzu und nennen Sie sie DemoCustomController. Ändern Sie nun diese Klasse, um die IController-Schnittstelle zu erben.
Step 2 - Kopieren Sie den folgenden Code in diese Klasse.
public class DemoCustomController:IController {
public void Execute(System.Web.Routing.RequestContext requestContext) {
var controller = (string)requestContext.RouteData.Values["controller"];
var action = (string)requestContext.RouteData.Values["action"];
requestContext.HttpContext.Response.Write(
string.Format("Controller: {0}, Action: {1}", controller, action));
}
}
Step 3 - Führen Sie die Anwendung aus, und Sie erhalten die folgende Ausgabe.