This demo shows a basic blog application exploiting PRADO's module support and master/content page feature. The application consists of two modules named User and Blog. Their pages are stored under directory UserModule and BlogModule, respectively. They all use the same master page LayoutPage under the global directory.
A PRADO module is a collection of PRADO pages serving for a common goal (e.g. user management). Pages within a common module can communicate or share data via module object. A module object can have part of its data persistent across pages. Using module also introduces partition of namespaces (e.g. you can have different HomePage in different modules).
A master page specifies the common outlook of a collection of content pages. It reserves a couple of places using TContentPlaceHolder to insert the rendering result of the requested content page. In content pages, TContent is used in their templates whose ID is used to match against that of TContentPlaceHolder in the master page. Both master and content pages can have controls in their templates, and they all respond to events as usual. Master pages can be nested, i.e., a master page can be a master of another master page. A content page specifies a master page using the directive <%@Page Master="master page name" %> in its template.