ASP.NET
MVC
Visual
Studio
The MVC Programming Model
MVC
is one of three ASP.NET programming models.
MVC
is a framework for building web applications using a MVC (Model View
Controller) design:
- The Model represents the application core (for instance a list of database records).
- The View displays the data (the database records).
- The Controller handles the input (to the database records).
The
MVC model also provides full control over HTML, CSS, and JavaScript.
The
MVC model defines web applications with 3 logic layers:
The
business layer (Model logic)
The
display layer (View logic)
The
input control (Controller logic)
The
Model is the part of the application that handles the logic
for the application data.
Often model objects retrieve data (and store data) from a database.
Often model objects retrieve data (and store data) from a database.
The
View is the parts of the application that handles the
display of the data.
Most often the views are created from the model data.
Most often the views are created from the model data.
The
Controller is the part of the application that handles user
interaction.
Typically controllers read data from a view, control user input, and send input data to the model.
Typically controllers read data from a view, control user input, and send input data to the model.
The
MVC separation helps you manage complex applications, because you can
focus on one aspect a time. For example, you can focus on the view
without depending on the business logic. It also makes it easier to
test an application.
The
MVC separation also simplifies group development. Different
developers can work on the view, the controller logic, and the
business logic in parallel.
MVC Folders :
A
typical ASP.NET MVC web application has the following folder content:
Application
information
Properties
References
Application
folders
App_Data
Folder
Content
Folder
Controllers
Folder
Models
Folder
Scripts
Folder
Views
Folder
Configuration
files
Global.asax
packages.config
Web.config
|
The
folder names are equal in all MVC applications. The MVC framework is
based on default naming. Controllers are in the Controllers folder,
Views are in the Views folder, and Models are in the Models folder.
You don't have to use the folder names in your application code.
Standard
naming reduces the amount of code, and makes it easier for developers
to understand MVC projects.
Below
is a brief summary of the content of each folder:
The App_Data Folder
The App_Data folder
is for storing application data.
We
will add an SQL database to the App_Data folder,
The Content Folder
The Content folder
is used for static files like style sheets (css files), icons and
images.
Visual
Web Developer automatically adds a themes folder
to the Content folder. The themes folder is filled with jQuery styles
and pictures. In this project you can delete the themes folder.
Visual
Web Developer also adds a standard style sheet file to the project:
the file Site.css in
the content folder. The style sheet file is the file to edit when you
want to change the style of the application.
We
will edit the style sheet file (Site.css) file in the next chapter of
this tutorial.
The Controllers Folder
The
Controllers folder contains the controller classes responsible for
handling user input and responses.
MVC
requires the name of all controller files to end with "Controller".
Visual
Web Developer has created a Home controller (for the Home and the
About page) and an Account controller (for Login pages):
We
will create more controllers later in this tutorial.
The Models Folder
The
Models folder contains the classes that represent the application
models. Models hold and manipulate application data.
We
will create models (classes) in a later chapter of this tutorial.
The Views Folder
The
Views folder stores the HTML files related to the display of the
application (the user interfaces).
The
Views folder contains one folder for each controller.
Visual
Web Developer has created an Account folder, a Home folder, and a
Shared folder (inside the Views folder).
The
Account folder contains pages for registering and logging in to user
accounts.
The
Home folder is used for storing application pages like the home page
and the about page.
The
Shared folder is used to store views shared between controllers
(master pages and layout pages).
We
will edit the layout files in the next chapter of this tutorial.
The Scripts Folder
The
Scripts folder stores the JavaScript files of the application.
By
default Visual Web Developer fills this folder with standard MVC,
Ajax, and jQuery files: