Augiho web

Osobní stránky jednoho podivného programátora…

ASP.NET MVC a routing

Čtvrtek
22. 1. 2009

ASP.NET MVC není dodáváno jako jediná assembly System.Web.Mvc, ale spolu s ní dostáváme také System.Web.Abstractions a System.Web.Routing. Právě poslední z nich je zodpovědná za routing, což je důležitá součást ASP.NET MVC. Přitom ale tato assembly nereferencuje System.Web.Mvc, takže routing může být použit i pro klasické WebForms. O tom ale až někdy příště, teď bych se rád podíval na zoubek samotnému routingu jako takovému, což v zásadě není nic složitého.
Zobrazit celý příspěvek »

ASP.NET MVC: ActionResult

Středa
14. 1. 2009

Každá akční metoda (action method), tedy metoda kontroleru, se vyznačuje tím, že vrací instanci potomka abstraktní třídy System.Web.Mvc.ActionResult (dále budu namespace System.Web.Mvc vypouštět). V praxi se většinou setkáváme s tím, že akční metoda končí „return View()„, return „RedirectToRoute(„Index“)“ nebo „return RedirectToAction(„Index“)„. Logicky tedy tyto metody musí vytvořit instanci nějaké třídy odděděné od ActionResult a tuto vrátit. Výše uvedené příklady ale nejsou jediné možnosti, jak můžeme něco z akční metody vrátit a na to bych se rád podíval v tomto článku.
Zobrazit celý příspěvek »

Neděle
4. 1. 2009

V předchozím článku o ASP.NET MVC jsem se zabýval předáváním dat při přesměrování, ale jak ukázaly dotazy na oficiálním fóru, lidé častou tápou v tom, jak správně dělat pro MVC naprosto zásadní věc – předat data z kontroleru do pohledu. Není to nic složitého, tak na to rychle mrkneme.
Zobrazit celý příspěvek »

Sobota
20. 12. 2008

Kamarád měl na mě zajímavý dotaz. Chtěl mít instanci IDictionary<TKey, TValue> a používat ji klasickým způsobem, ale protože Dictionary<TKey, TValue> defaultně používá na porovnání klíčů a počítání hashe instanci System.Collections.Generic.EqualityComparer<T>.Default, nedostával očekávané výsledky. Tento comparer totiž kouká na pole jako na jakýkoliv jiný referenční typ, takže v důsledku dojde pouze k porovnání referencí.
Zobrazit celý příspěvek »

Středa
17. 12. 2008

Provedení přesměrování je ve webovém programování zcela běžná věc a pokud chceme programovat podle návrhového vzoru Post/Redirect/Get, pak je to přímo nutnost. Vřele doporučuji tento vzor používat, protože díky němu můžeme zabránit vícenásobnému odeslání formuláře (známé double-posty z fór a komentářů) a jeho použití vede také k lepšímu oddělení koncernů (zájmů, oblastí aplikací sloužící k různému účelu). A v neposlední řadě je jeho implementace triviální ;-) Použití tohoto návrhového vzoru v ASP.NET MVC aplikaci je velmi jednoduché, protože sám o sobě nevyžaduje žádnou speciální podporu. V akční metodě zpracovávající POST data prostě místo obligátního „return View(…)“ zavoláme „return RedirectToAction(…)“ nebo „return RedirectToRoute(…)„.

Zobrazit celý příspěvek »

O stránkách

AugiStránky jednoho podivného programátora, kterému každý říká Augi. Ve svém volném čase se rád věnuje přítelkyni, programování, katalánštině a sportu (tenisu, kolu a turistice).

Augiho profil na LinkedIn
Microsoft Most Valuable Professional - ASP.NET/IIS

TWITTER