2014. február 1., szombat

MVC: Egyszerre több partial view frissítése

Online demo és letöltés: pulzonic.com/multipartial
Nuget csomag: www.nuget.org/packages/Multipartial

Bevezetés


Nemrégiben volt egy projektünk, amelyen nagyon kevesen dolgoztunk fejlesztők. Fontos szempont volt, hogy a webalkalmazásunknak Facebook-szerű, komplex UI-a legyen, de semmiképpen sem szerettünk volna nekiállni bonyolult kliensoldali kódot írni, ezért elhatároztuk, hogy minimalizáljuk a JavaScript mennyiségét, és lehetőleg minden html kódot a szerveroldalon renderelünk ki. Az elképzelésem az volt, hogy a Html tartalmat felszabdaljuk sok, egymásba ágyazott partial view-ra (akár egy lista egyetlen listaeleme is egy partial view lehet), ezeket view-kat frissítjuk, így mindössz annyi JavaScriptre lesz szükségünk, ami elposztolja a kérést, majd a visszakapot html snipetet egyszerűen a helyére rakja.

Az gyorsan kiderült, hogy ez a beépített ActionResult-okkal nem fog menni, ezért csináltam egy saját megoldást.