Vytvoření kontroleru (VB)
V tomto kurzu Stephen Walther ukazuje, jak můžete přidat kontroler do aplikace ASP.NET MVC.
Cílem tohoto kurzu je vysvětlit, jak můžete vytvořit nové kontrolery ASP.NET MVC. Naučíte se vytvářet kontrolery pomocí možnosti nabídky Přidat kontroler sady Visual Studio i ručním vytvořením souboru třídy.
Použití možnosti nabídky Přidat kontroler
Nejjednodušší způsob, jak vytvořit nový kontroler, je kliknout pravým tlačítkem na složku Kontrolery v okně Průzkumník řešení sady Visual Studio a vybrat možnost nabídky Přidat, kontroler (viz Obrázek 1). Výběrem této možnosti nabídky se otevře dialogové okno Přidat kontroler (viz Obrázek 2).
Obrázek 01: Přidání nového kontroleru (kliknutím zobrazíte obrázek v plné velikosti)
Obrázek 02: Dialogové okno Přidat kontroler (kliknutím zobrazíte obrázek v plné velikosti)
Všimněte si, že první část názvu kontroleru je zvýrazněná v dialogovém okně Přidat kontroler . Každý název kontroleru musí končit příponou Controller. Můžete například vytvořit kontroler s názvem ProductController , ale ne kontroler s názvem Product.
Pokud vytvoříte kontroler, kterému chybí přípona kontroleru , nebudete ho moct vyvolat. Nedělej tohle- poté, co jsem udělal tuto chybu, promarněl jsem nespočet hodin svého života.
Výpis 1 – Controllers\ProductController.vb
Public Class ProductController
Inherits System.Web.Mvc.Controller
'
' GET: /Product/
Function Index() As ActionResult
Return View()
End Function
End Class
Kontrolery byste měli vždy vytvářet ve složce Kontrolery. V opačném případě budete porušovat konvence ASP.NET MVC a pro ostatní vývojáře bude obtížnější porozumět vaší aplikaci.
Metody akcí generování uživatelského rozhraní
Při vytváření kontroleru máte možnost automaticky vygenerovat metody akcí Vytvořit, Aktualizovat a Podrobnosti (viz Obrázek 3). Pokud vyberete tuto možnost, vygeneruje se třída kontroleru ve výpisu 2.
Obrázek 03: Automatické vytváření metod akcí (kliknutím zobrazíte obrázek v plné velikosti)
Výpis 2 – Controllers\CustomerController.vb
Public Class CustomerController
Inherits System.Web.Mvc.Controller
'
' GET: /Customer/
Function Index() As ActionResult
Return View()
End Function
'
' GET: /Customer/Details/5
Function Details(ByVal id As Integer) As ActionResult
Return View()
End Function
'
' GET: /Customer/Create
Function Create() As ActionResult
Return View()
End Function
'
' POST: /Customer/Create
<AcceptVerbs(HttpVerbs.Post)> _
Function Create(ByVal collection As FormCollection) As ActionResult
Try
' TODO: Add insert logic here
Return RedirectToAction("Index")
Catch
Return View()
End Try
End Function
'
' GET: /Customer/Edit/5
Function Edit(ByVal id As Integer) As ActionResult
Return View()
End Function
'
' POST: /Customer/Edit/5
<AcceptVerbs(HttpVerbs.Post)> _
Function Edit(ByVal id As Integer, ByVal collection As FormCollection) As ActionResult
Try
' TODO: Add update logic here
Return RedirectToAction("Index")
Catch
Return View()
End Try
End Function
End Class
Tyto vygenerované metody jsou metody se zástupnými procedurmi. Musíte přidat vlastní logiku pro vytvoření, aktualizaci a zobrazení podrobností pro zákazníka sami. Metody zástupných procedur vám ale poskytnou pěkný výchozí bod.
Vytvoření třídy kontroleru
Kontroler ASP.NET MVC je pouze třída. Pokud chcete, můžete praktické generování kontroleru sady Visual Studio ignorovat a vytvořit třídu kontroleru ručně. Postupujte takto:
- Klikněte pravým tlačítkem na složku Kontrolery, vyberte možnost nabídky Přidat, Nová položka a vyberte šablonu Třída (viz obrázek 4).
- Pojmenujte novou třídu PersonController.vb a klikněte na tlačítko Přidat .
- Upravte výsledný soubor třídy tak, aby třída dědila ze základní třídy System.Web.Mvc.Controller (viz výpis 3).
Obrázek 04: Vytvoření nové třídy (kliknutím zobrazíte obrázek v plné velikosti)
Výpis 3 – Controllers\PersonController.vb
Public Class PersonController
inherits Controller
Function Index AS String
Return "Hello World!"
End Function
End Class
Kontroler ve výpisu 3 zveřejňuje jednu akci s názvem Index(), která vrátí řetězec "Hello World!". Tuto akci kontroleru můžete vyvolat spuštěním aplikace a vyžádáním adresy URL, jako je následující:
http://localhost:40071/Person
Poznámka
ASP.NET Development Server používá náhodné číslo portu (například 40071). Při zadávání adresy URL pro vyvolání kontroleru budete muset zadat správné číslo portu. Číslo portu můžete zjistit tak, že najedete myší na ikonu ASP.NET Development Server v oznamovací oblasti Windows (vpravo dole na obrazovce).