Augiho web

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

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 »

Sobota
29. 11. 2008

Redirecting is very common operation in web programming, especially when you want to follow Post/Redirect/Get pattern. I strongly recommend to use this pattern because it’s very simple, avoids double-posting and tends to better separation of concerns. And how to implement this pattern in ASP.NET MVC? It’s very easy – just call RedirectToAction or RedirectToRoute method at the end of your action method that processes POST data.
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 snowboardu).
Microsoft Most Valuable Professional - ASP/ASP.NET

CO AUGI POSLOUCHÁ

Co poslouchám...

CO AUGI DĚLÁ