SlideShare a Scribd company logo
Programming is Fun
With ASP.NET MVC!
Ian Carnaghan
Page  2
Programming is Fun with ASP.NET MVC
Introduction to ASP.NET
What is ASP.NET?
 ASP.NET is a development framework for
building web pages and web sites with
HTML, CSS, JavaScript and server
scripting.
 It was first released in January 2002 with
version 1.0 of the .NET Framework, and
is the successor to Microsoft's Active
Server Pages (ASP) technology.
 ASP.NET supports three different
development models:
Web Pages, MVC (Model View
Controller), and Web Forms.
Page  3
ASP.NET
Visual Studio 2012
Programming is Fun with ASP.NET MVC
The ASP.NET Framework
ASP.NET
Web
Forms
ASP.NET
MVC
ASP.NET
Web
Pages
Web Forms
View Engine
Razor View
Engine
WebMatrix
What is ASP.NET?
 Web Pages is the Simplest ASP.NET
model. Similar to PHP and classic ASP
with built-in templates and helpers for
database, video, graphics, social media
and more.
 MVC separates web applications into
different different components and
provides a lighter weight framework,
separation of concerns and DRY
approach to development.
 Webforms is the traditional ASP.NET
event driven development model. Web
pages with added server controls, server
events, and server code.
Page  4
Programming is Fun with ASP.NET MVC
IIS
SQL
Server
Entity
Framework
ASP.NET
JS &
JQuery
The Microsoft Web Platform
Internet Information Services
is the web server used by
ASP.NET applications.
EF is an Object Relational
Mapper (ORM) – the layer
that converts DB elements
such as tables and views to
objects uses in the
application.
ASP.NET MVC comes with
JavaScript libraries, jQuery
and HTML 5 support.
ASP.NET can use a range of
databases, however SQL Server
is the most popular has great
support in Visual Studio.
ASP.NET is the development
framework.
Page  5
Programming is Fun with ASP.NET MVC
Model View Controller
MVC
Model–view–controller (MVC) is a software
architecture pattern which separates the
representation of information from the user's
interaction with it. It was introduced by Trygve
Reenskaug at Xerox Parc in 1976.
 Model represents the data and business logic
such as database tables, constraints and
validations.
 View represent the screens the users access.
The view uses data from the model to provide
information to the user.
 Controller handles requests sent in by the user
and determines what actions need to be taken
by the application.
Page  6
Programming is Fun with ASP.NET MVC
Interactions Follow Natural Cycle:
1. User takes action
2. Application changes data model
3. Updated view sent to user
Different Technologies
MVC compatible with combining
other technologies into tiers
or layers.
Full Control over UI
New Razor View Engine provides
greater control and cleaner code.
No Viewstate requirement with auto-
generated code –100s Kb smaller.
Total control over requests sent
netween server and browser.
User Experience
HTML 5 Technologies, Non-Obtrusive JS,
Routing,. Maintainability
Modern coding Standards
Convention over configuration.
Similar to other popular MVC
Frameworks including Grails,
Ruby on Rails, Spring MVC,
Monorail and many others.
Maintainablility
DRY approach to programming
Testability
Since the UI is completely seperated
from the business logic, it is easier to unit
tests.
Multiple Unit testing framworks available.
Why Microsoft ASP.NET MVC?
Page  7
Programming is Fun with ASP.NET MVC
C:InetpubwwwrootWebsitePerson.aspx
http://www.website.com/Person.aspx?id=5
http://www.website.com/Person/5
Physical Location
ASP.NET Style
MVC Style
Routing
 Routing in MVC comes packages with easy to configure rules based on different circumstances.
 By default {ControllerName}/{MethodName}/(optional Id)
 Many URLs can link to the same controller via different methods
Page  8
Programming is Fun with ASP.NET MVC
Code First
 Preferred by programmers who do not want to work with designers and EDMX.
 Full control (no autogenerated code).
 Seperation from DB, regardless of technology. The ORM will handle creation.
 Manual changes to DB problematic and lost since code defines the database.
Database First
 Best choice if you already have DB designed by DBAs.
 ORM creates entities for you to use in your application.
 Manual changes to the database are possible - update model from database
Model First
 Preferred by people interested in building a site with least amount of coding.
 Use design tools – Partial loss of control on both entities and database
 Can be very productive for small easy projects.
 Manual changes to DB problematic and lost since model defines the database.
Architectural Options for Developing an Application
Page  9
Programming is Fun with ASP.NET MVC
Person Entity:
 Id (int)
 FirstName (string)
 LastName (string)
 BirthDate (datetime)
Context:
 People (Collection of Person)
 Using ASP.NET DbContext library
for Entity Framework
Person Model
 Index Method – Call existing
records from model to pass to a
list view
 Create Method – Provide empty
model to pass to a create view and
handle posts
 Edit Method – Call an existing
record via the model to pass to an
edit view and handle posts
 Details Page – Call an existing
record via the model to pass to a
display view
Person Controller
 Person/Index
 Person/Create
 PersonEdit
 Person/Details
Person Views
Simple CRUD (Create Read Update Delete) Application
The Object Relational Mapper enables communication between the application and database and
converts database elements into application-ready objects.
ASP.NET uses Entity Framework and a .Net Library called DbContext for this process.
DbContext enables you to query a database and group together changes that will then be written back
to the store as a unit.
Page  10
Programming is Fun with ASP.NET MVC
Simple CRUD (Create Read Update Delete) Application
Page  11
Programming is Fun with ASP.NET MVC
 Office of Population Affairs was a legacy ColdFusion
Application, which was redesigned using ASP.NET
and launched in April 2013.
 Application required versioning of records, logging,
approvals and extensive search.
 Twitter Bootstrap was used for the frontend layout
providing a responsive HTML 5 compliant design.
 Solr libraries integrated with ASP.NET via SolrNET.
 MVC 4 using Code First Entify Framework
Implementation with SQL Server and IIS.
Office of Population Affairs
Boot
strap
Apache Solr
ASP.NET MVC 4 & EF
Page  12
Programming is Fun with ASP.NET MVC
Domain Model
 Object representation of the physical database tables
 Validation and contraints are defined here and used throughout the
application
Repositories
 Heavy lifting work of performing all transactions needed from the
application layer to the database
 Mapping between Domain objects and View Model objects
Abstraction
Layer
 Interfaces the controllers can use to perform repository actions.
 Provides an additional layer of seperation – if major changes occur in
repository – the controllers are not dependent upon them.
View Models
 Subsets of the Domain Model, proving view specific information.
 Example public Organization Details only contains specific fields.
OPA Application Structure
Page  13
Programming is Fun with ASP.NET MVC
Community Health Online Resource Center
Ajax-based CDC Application
 Resource database of records
tagged in various categories.
 Full-text searching and AJAX front-
end for user interaction.
 Back-end administration for
managing resources and adding
users to maintain the database.
 Integration into CDC PIV Card
authentication via C# Active Directory
libraries.
Page  14
Programming is Fun with ASP.NET MVC
 National Diabetes Education Program
 Application will share code-base for the CHORC
 Records listing with thumbnails and integration with
NDEP API for adding resources to external cart.
 Monarch Academy web-based Curriculum Mapping.
 CM for Expeditionary Learning
 Maintainable by Administrators, Accessible by all
Teachers
 Based on Education Research
Future Projects
Page  15
Programming is Fun with ASP.NET MVC
 http://www.pluralsight.com
 Pluralsight is by and far the
best Microsoft Development
Training Site!
 ICF may pay for the yearly
subscription via Training or
Tuition Reimbursement
 Check out Julie Lerman
 http://www.apress.com/97814
30242369
 Work through the Sports
Store tutorial!
 Great indepth explanations
 Keep as good reference
guide
 http://www.hanselman.com
 Check out his other videos at
various conferences
 Subscribe to Hanselminutes
Podcasts
 Also check out .Net Rocks!
Learning Resources for ASP.NET MVC 4
* Oh and did I mention Stackoverflow!?
Page  16
Do You Have
Any Questions?

More Related Content

What's hot (20)

PDF
SPCA2013 - Building Windows Client Applications for SharePoint 2013
NCCOMMS
 
PPTX
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
PDF
Industry-Standard Web Development Techniques for Angular
Jai Prakash Mishra
 
PPTX
Frameworks Galore: A Pragmatic Review
netc2012
 
PDF
CodeIgniter - PHP MVC Framework by silicongulf.com
Christopher Cubos
 
PDF
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Fabio Franzini
 
PDF
Spring Mvc
ifnu bima
 
PPTX
SharePoint development 2017 wrap-up
Joel Rodrigues
 
PDF
Power Apps Advanced Training Brochure
ShiftConsulting
 
PPTX
Parallel minds silverlight
parallelminder
 
PDF
SharePoint 2010 and Colligo for ECM
lchapman
 
PPTX
Application innovation & Developer Productivity
Kushan Lahiru Perera
 
PPTX
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien
 
PDF
A Gentle introduction to Web Development & Django
PRASANNAVENK
 
PDF
Sense/Net 6.0 product
Sense/Net Inc.
 
PDF
DevOps lagos meetup
Ewere Diagboya
 
PDF
Making Of PHP Based Web Application
Sachin Walvekar
 
PPT
Training on webwroks1
sumeettechno
 
PDF
Sybase sup hybrid_web_container_article_wp
Prabhakar Manthena
 
PPTX
RIA - Rich Internet Applications
Meghana Chandrashekar
 
SPCA2013 - Building Windows Client Applications for SharePoint 2013
NCCOMMS
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
Industry-Standard Web Development Techniques for Angular
Jai Prakash Mishra
 
Frameworks Galore: A Pragmatic Review
netc2012
 
CodeIgniter - PHP MVC Framework by silicongulf.com
Christopher Cubos
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Fabio Franzini
 
Spring Mvc
ifnu bima
 
SharePoint development 2017 wrap-up
Joel Rodrigues
 
Power Apps Advanced Training Brochure
ShiftConsulting
 
Parallel minds silverlight
parallelminder
 
SharePoint 2010 and Colligo for ECM
lchapman
 
Application innovation & Developer Productivity
Kushan Lahiru Perera
 
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien
 
A Gentle introduction to Web Development & Django
PRASANNAVENK
 
Sense/Net 6.0 product
Sense/Net Inc.
 
DevOps lagos meetup
Ewere Diagboya
 
Making Of PHP Based Web Application
Sachin Walvekar
 
Training on webwroks1
sumeettechno
 
Sybase sup hybrid_web_container_article_wp
Prabhakar Manthena
 
RIA - Rich Internet Applications
Meghana Chandrashekar
 

Similar to Programming is Fun with ASP.NET MVC (20)

PPTX
Introduction to ASP.Net MVC
Sagar Kamate
 
PDF
Aspnetmvc 1
Fajar Baskoro
 
PDF
Asp 1a-aspnetmvc
Fajar Baskoro
 
PDF
ASP.NET MVC 5 Building Your First Web Application (A Beginner S Guide
Alicia Buske
 
PPTX
ASP.NET Presentation
Rasel Khan
 
PPTX
MVC - Introduction
Sudhakar Sharma
 
PDF
Programming ASP NET MVC 4 Developing Real World Web Applications with ASP NET...
aalbxlrt993
 
PDF
Introduction to ASP.NET MVC
Mayank Srivastava
 
PPTX
ASP.NET MVC 5 - EF 6 - VS2015
Hossein Zahed
 
PPT
Asp netmvc
hmanjarawala
 
PPTX
Asp.net With mvc handson
Prashant Kumar
 
PPTX
Model view controller (mvc)
M Ahsan Khan
 
PPTX
Session 1
Asif Atick
 
PPTX
ASP.net MVC Introduction Wikilogia (nov 2014)
Hatem Hamad
 
PPTX
MVC 6 Introduction
Sudhakar Sharma
 
PDF
Programming ASP NET MVC 4 Developing Real World Web Applications with ASP NET...
barbuhalahdl
 
PDF
Mastering asp.net mvc - Dot Net Tricks
Gaurav Singh
 
PPT
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Gabriel Villa
 
PDF
Asp 1-mvc introduction
Fajar Baskoro
 
PDF
Asp.net mvc basic introduction
Bhagath Gopinath
 
Introduction to ASP.Net MVC
Sagar Kamate
 
Aspnetmvc 1
Fajar Baskoro
 
Asp 1a-aspnetmvc
Fajar Baskoro
 
ASP.NET MVC 5 Building Your First Web Application (A Beginner S Guide
Alicia Buske
 
ASP.NET Presentation
Rasel Khan
 
MVC - Introduction
Sudhakar Sharma
 
Programming ASP NET MVC 4 Developing Real World Web Applications with ASP NET...
aalbxlrt993
 
Introduction to ASP.NET MVC
Mayank Srivastava
 
ASP.NET MVC 5 - EF 6 - VS2015
Hossein Zahed
 
Asp netmvc
hmanjarawala
 
Asp.net With mvc handson
Prashant Kumar
 
Model view controller (mvc)
M Ahsan Khan
 
Session 1
Asif Atick
 
ASP.net MVC Introduction Wikilogia (nov 2014)
Hatem Hamad
 
MVC 6 Introduction
Sudhakar Sharma
 
Programming ASP NET MVC 4 Developing Real World Web Applications with ASP NET...
barbuhalahdl
 
Mastering asp.net mvc - Dot Net Tricks
Gaurav Singh
 
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Gabriel Villa
 
Asp 1-mvc introduction
Fajar Baskoro
 
Asp.net mvc basic introduction
Bhagath Gopinath
 
Ad

More from Ian Carnaghan (14)

PPTX
Standardizing Drupal Development Environments using Containers
Ian Carnaghan
 
PPTX
Drupal Theming for Developers
Ian Carnaghan
 
PDF
Doctoral Defense
Ian Carnaghan
 
PPTX
Exploratory Eye Tracking Research with Curriculum Mapping
Ian Carnaghan
 
PPTX
Drupal at ICF International
Ian Carnaghan
 
PPTX
Curriculum Mapping
Ian Carnaghan
 
PPTX
Information Culture Wrapup
Ian Carnaghan
 
PPTX
Usability
Ian Carnaghan
 
PPTX
Future Careers
Ian Carnaghan
 
PPTX
Motion Graphics
Ian Carnaghan
 
PPTX
Gamification
Ian Carnaghan
 
PPTX
Drupal
Ian Carnaghan
 
PPTX
History of Online Education
Ian Carnaghan
 
PPTX
Social Media
Ian Carnaghan
 
Standardizing Drupal Development Environments using Containers
Ian Carnaghan
 
Drupal Theming for Developers
Ian Carnaghan
 
Doctoral Defense
Ian Carnaghan
 
Exploratory Eye Tracking Research with Curriculum Mapping
Ian Carnaghan
 
Drupal at ICF International
Ian Carnaghan
 
Curriculum Mapping
Ian Carnaghan
 
Information Culture Wrapup
Ian Carnaghan
 
Usability
Ian Carnaghan
 
Future Careers
Ian Carnaghan
 
Motion Graphics
Ian Carnaghan
 
Gamification
Ian Carnaghan
 
History of Online Education
Ian Carnaghan
 
Social Media
Ian Carnaghan
 
Ad

Recently uploaded (20)

PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Tally software_Introduction_Presentation
AditiBansal54083
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 

Programming is Fun with ASP.NET MVC

  • 1. Programming is Fun With ASP.NET MVC! Ian Carnaghan
  • 2. Page  2 Programming is Fun with ASP.NET MVC Introduction to ASP.NET What is ASP.NET?  ASP.NET is a development framework for building web pages and web sites with HTML, CSS, JavaScript and server scripting.  It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages (ASP) technology.  ASP.NET supports three different development models: Web Pages, MVC (Model View Controller), and Web Forms.
  • 3. Page  3 ASP.NET Visual Studio 2012 Programming is Fun with ASP.NET MVC The ASP.NET Framework ASP.NET Web Forms ASP.NET MVC ASP.NET Web Pages Web Forms View Engine Razor View Engine WebMatrix What is ASP.NET?  Web Pages is the Simplest ASP.NET model. Similar to PHP and classic ASP with built-in templates and helpers for database, video, graphics, social media and more.  MVC separates web applications into different different components and provides a lighter weight framework, separation of concerns and DRY approach to development.  Webforms is the traditional ASP.NET event driven development model. Web pages with added server controls, server events, and server code.
  • 4. Page  4 Programming is Fun with ASP.NET MVC IIS SQL Server Entity Framework ASP.NET JS & JQuery The Microsoft Web Platform Internet Information Services is the web server used by ASP.NET applications. EF is an Object Relational Mapper (ORM) – the layer that converts DB elements such as tables and views to objects uses in the application. ASP.NET MVC comes with JavaScript libraries, jQuery and HTML 5 support. ASP.NET can use a range of databases, however SQL Server is the most popular has great support in Visual Studio. ASP.NET is the development framework.
  • 5. Page  5 Programming is Fun with ASP.NET MVC Model View Controller MVC Model–view–controller (MVC) is a software architecture pattern which separates the representation of information from the user's interaction with it. It was introduced by Trygve Reenskaug at Xerox Parc in 1976.  Model represents the data and business logic such as database tables, constraints and validations.  View represent the screens the users access. The view uses data from the model to provide information to the user.  Controller handles requests sent in by the user and determines what actions need to be taken by the application.
  • 6. Page  6 Programming is Fun with ASP.NET MVC Interactions Follow Natural Cycle: 1. User takes action 2. Application changes data model 3. Updated view sent to user Different Technologies MVC compatible with combining other technologies into tiers or layers. Full Control over UI New Razor View Engine provides greater control and cleaner code. No Viewstate requirement with auto- generated code –100s Kb smaller. Total control over requests sent netween server and browser. User Experience HTML 5 Technologies, Non-Obtrusive JS, Routing,. Maintainability Modern coding Standards Convention over configuration. Similar to other popular MVC Frameworks including Grails, Ruby on Rails, Spring MVC, Monorail and many others. Maintainablility DRY approach to programming Testability Since the UI is completely seperated from the business logic, it is easier to unit tests. Multiple Unit testing framworks available. Why Microsoft ASP.NET MVC?
  • 7. Page  7 Programming is Fun with ASP.NET MVC C:InetpubwwwrootWebsitePerson.aspx http://www.website.com/Person.aspx?id=5 http://www.website.com/Person/5 Physical Location ASP.NET Style MVC Style Routing  Routing in MVC comes packages with easy to configure rules based on different circumstances.  By default {ControllerName}/{MethodName}/(optional Id)  Many URLs can link to the same controller via different methods
  • 8. Page  8 Programming is Fun with ASP.NET MVC Code First  Preferred by programmers who do not want to work with designers and EDMX.  Full control (no autogenerated code).  Seperation from DB, regardless of technology. The ORM will handle creation.  Manual changes to DB problematic and lost since code defines the database. Database First  Best choice if you already have DB designed by DBAs.  ORM creates entities for you to use in your application.  Manual changes to the database are possible - update model from database Model First  Preferred by people interested in building a site with least amount of coding.  Use design tools – Partial loss of control on both entities and database  Can be very productive for small easy projects.  Manual changes to DB problematic and lost since model defines the database. Architectural Options for Developing an Application
  • 9. Page  9 Programming is Fun with ASP.NET MVC Person Entity:  Id (int)  FirstName (string)  LastName (string)  BirthDate (datetime) Context:  People (Collection of Person)  Using ASP.NET DbContext library for Entity Framework Person Model  Index Method – Call existing records from model to pass to a list view  Create Method – Provide empty model to pass to a create view and handle posts  Edit Method – Call an existing record via the model to pass to an edit view and handle posts  Details Page – Call an existing record via the model to pass to a display view Person Controller  Person/Index  Person/Create  PersonEdit  Person/Details Person Views Simple CRUD (Create Read Update Delete) Application The Object Relational Mapper enables communication between the application and database and converts database elements into application-ready objects. ASP.NET uses Entity Framework and a .Net Library called DbContext for this process. DbContext enables you to query a database and group together changes that will then be written back to the store as a unit.
  • 10. Page  10 Programming is Fun with ASP.NET MVC Simple CRUD (Create Read Update Delete) Application
  • 11. Page  11 Programming is Fun with ASP.NET MVC  Office of Population Affairs was a legacy ColdFusion Application, which was redesigned using ASP.NET and launched in April 2013.  Application required versioning of records, logging, approvals and extensive search.  Twitter Bootstrap was used for the frontend layout providing a responsive HTML 5 compliant design.  Solr libraries integrated with ASP.NET via SolrNET.  MVC 4 using Code First Entify Framework Implementation with SQL Server and IIS. Office of Population Affairs Boot strap Apache Solr ASP.NET MVC 4 & EF
  • 12. Page  12 Programming is Fun with ASP.NET MVC Domain Model  Object representation of the physical database tables  Validation and contraints are defined here and used throughout the application Repositories  Heavy lifting work of performing all transactions needed from the application layer to the database  Mapping between Domain objects and View Model objects Abstraction Layer  Interfaces the controllers can use to perform repository actions.  Provides an additional layer of seperation – if major changes occur in repository – the controllers are not dependent upon them. View Models  Subsets of the Domain Model, proving view specific information.  Example public Organization Details only contains specific fields. OPA Application Structure
  • 13. Page  13 Programming is Fun with ASP.NET MVC Community Health Online Resource Center Ajax-based CDC Application  Resource database of records tagged in various categories.  Full-text searching and AJAX front- end for user interaction.  Back-end administration for managing resources and adding users to maintain the database.  Integration into CDC PIV Card authentication via C# Active Directory libraries.
  • 14. Page  14 Programming is Fun with ASP.NET MVC  National Diabetes Education Program  Application will share code-base for the CHORC  Records listing with thumbnails and integration with NDEP API for adding resources to external cart.  Monarch Academy web-based Curriculum Mapping.  CM for Expeditionary Learning  Maintainable by Administrators, Accessible by all Teachers  Based on Education Research Future Projects
  • 15. Page  15 Programming is Fun with ASP.NET MVC  http://www.pluralsight.com  Pluralsight is by and far the best Microsoft Development Training Site!  ICF may pay for the yearly subscription via Training or Tuition Reimbursement  Check out Julie Lerman  http://www.apress.com/97814 30242369  Work through the Sports Store tutorial!  Great indepth explanations  Keep as good reference guide  http://www.hanselman.com  Check out his other videos at various conferences  Subscribe to Hanselminutes Podcasts  Also check out .Net Rocks! Learning Resources for ASP.NET MVC 4 * Oh and did I mention Stackoverflow!?
  • 16. Page  16 Do You Have Any Questions?