asp.net mvc introduction mvc, models, views, controllers, asp.net softuni team technical trainers...

43
ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University http:// softuni.bg ASP.NET MVC

Upload: brendan-mosley

Post on 13-Dec-2015

249 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

ASPNET MVC Introduction

MVC Models Views Controllers ASPNET

SoftUni TeamTechnical TrainersSoftware Universityhttpsoftunibg

ASPNET MVC

2

1 The MVC Pattern Model View Controller The MVC Pattern for Web and Examples

2 ASPNET MVC Comparison with ASPNET ASPNET MVC Advantages

3 Creating an ASPNET MVC Project4 NuGet Package Management5 Server Information with Glimpse

Table of Contents

The MVC PatternModel-View-Controller

4

Model-View-Controller (MVC) is a software architecture pattern Originally formulated in the late 1970s by Trygve Reenskaug as

part of the Smalltalk Code reusability and separation of concerns Originally developed for desktop

Then adapted for internet applications

The MVC Pattern

5

Set of classes that describes the data we are working with Rules for how the data can be changed and manipulated May contain data validation rules Often encapsulate data stored in a database

as well as code used to manipulate the data

Most likely a Data Access Layer of some kind It doesnt have significance in the framework

Apart from giving the data objects

Model

6

Defines how the applicationrsquos user interface (UI) will be displayed May support master views (layouts) May support sub-views (partial views or controls) Web Template to dynamically generate HTML

View

7

The core MVC component ndash holds the logic Process the requests with the help of views and models A set of classes that handles

Communication from the user Overall application flow Application-specific logic

Every controller has one or more actions

Controller

8

Incoming request is routed to a Controller For web HTTP request

Controller processes request and creates a presentation Model Controller also selects appropriate result (view)

Model is passed to View View transforms Model into appropriate output format (HTML) Response is rendered (HTTP response)

MVC Steps

9

The MVC Pattern for Web

SomePage

Controller

HTTP RequestFront controller

(dispatcher)

Model (data)

View(render UI)

User

HTTP Response

Delegate request

Select view amppass data

Use model data

CRUD model

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 2: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

2

1 The MVC Pattern Model View Controller The MVC Pattern for Web and Examples

2 ASPNET MVC Comparison with ASPNET ASPNET MVC Advantages

3 Creating an ASPNET MVC Project4 NuGet Package Management5 Server Information with Glimpse

Table of Contents

The MVC PatternModel-View-Controller

4

Model-View-Controller (MVC) is a software architecture pattern Originally formulated in the late 1970s by Trygve Reenskaug as

part of the Smalltalk Code reusability and separation of concerns Originally developed for desktop

Then adapted for internet applications

The MVC Pattern

5

Set of classes that describes the data we are working with Rules for how the data can be changed and manipulated May contain data validation rules Often encapsulate data stored in a database

as well as code used to manipulate the data

Most likely a Data Access Layer of some kind It doesnt have significance in the framework

Apart from giving the data objects

Model

6

Defines how the applicationrsquos user interface (UI) will be displayed May support master views (layouts) May support sub-views (partial views or controls) Web Template to dynamically generate HTML

View

7

The core MVC component ndash holds the logic Process the requests with the help of views and models A set of classes that handles

Communication from the user Overall application flow Application-specific logic

Every controller has one or more actions

Controller

8

Incoming request is routed to a Controller For web HTTP request

Controller processes request and creates a presentation Model Controller also selects appropriate result (view)

Model is passed to View View transforms Model into appropriate output format (HTML) Response is rendered (HTTP response)

MVC Steps

9

The MVC Pattern for Web

SomePage

Controller

HTTP RequestFront controller

(dispatcher)

Model (data)

View(render UI)

User

HTTP Response

Delegate request

Select view amppass data

Use model data

CRUD model

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 3: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

The MVC PatternModel-View-Controller

4

Model-View-Controller (MVC) is a software architecture pattern Originally formulated in the late 1970s by Trygve Reenskaug as

part of the Smalltalk Code reusability and separation of concerns Originally developed for desktop

Then adapted for internet applications

The MVC Pattern

5

Set of classes that describes the data we are working with Rules for how the data can be changed and manipulated May contain data validation rules Often encapsulate data stored in a database

as well as code used to manipulate the data

Most likely a Data Access Layer of some kind It doesnt have significance in the framework

Apart from giving the data objects

Model

6

Defines how the applicationrsquos user interface (UI) will be displayed May support master views (layouts) May support sub-views (partial views or controls) Web Template to dynamically generate HTML

View

7

The core MVC component ndash holds the logic Process the requests with the help of views and models A set of classes that handles

Communication from the user Overall application flow Application-specific logic

Every controller has one or more actions

Controller

8

Incoming request is routed to a Controller For web HTTP request

Controller processes request and creates a presentation Model Controller also selects appropriate result (view)

Model is passed to View View transforms Model into appropriate output format (HTML) Response is rendered (HTTP response)

MVC Steps

9

The MVC Pattern for Web

SomePage

Controller

HTTP RequestFront controller

(dispatcher)

Model (data)

View(render UI)

User

HTTP Response

Delegate request

Select view amppass data

Use model data

CRUD model

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 4: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

4

Model-View-Controller (MVC) is a software architecture pattern Originally formulated in the late 1970s by Trygve Reenskaug as

part of the Smalltalk Code reusability and separation of concerns Originally developed for desktop

Then adapted for internet applications

The MVC Pattern

5

Set of classes that describes the data we are working with Rules for how the data can be changed and manipulated May contain data validation rules Often encapsulate data stored in a database

as well as code used to manipulate the data

Most likely a Data Access Layer of some kind It doesnt have significance in the framework

Apart from giving the data objects

Model

6

Defines how the applicationrsquos user interface (UI) will be displayed May support master views (layouts) May support sub-views (partial views or controls) Web Template to dynamically generate HTML

View

7

The core MVC component ndash holds the logic Process the requests with the help of views and models A set of classes that handles

Communication from the user Overall application flow Application-specific logic

Every controller has one or more actions

Controller

8

Incoming request is routed to a Controller For web HTTP request

Controller processes request and creates a presentation Model Controller also selects appropriate result (view)

Model is passed to View View transforms Model into appropriate output format (HTML) Response is rendered (HTTP response)

MVC Steps

9

The MVC Pattern for Web

SomePage

Controller

HTTP RequestFront controller

(dispatcher)

Model (data)

View(render UI)

User

HTTP Response

Delegate request

Select view amppass data

Use model data

CRUD model

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 5: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

5

Set of classes that describes the data we are working with Rules for how the data can be changed and manipulated May contain data validation rules Often encapsulate data stored in a database

as well as code used to manipulate the data

Most likely a Data Access Layer of some kind It doesnt have significance in the framework

Apart from giving the data objects

Model

6

Defines how the applicationrsquos user interface (UI) will be displayed May support master views (layouts) May support sub-views (partial views or controls) Web Template to dynamically generate HTML

View

7

The core MVC component ndash holds the logic Process the requests with the help of views and models A set of classes that handles

Communication from the user Overall application flow Application-specific logic

Every controller has one or more actions

Controller

8

Incoming request is routed to a Controller For web HTTP request

Controller processes request and creates a presentation Model Controller also selects appropriate result (view)

Model is passed to View View transforms Model into appropriate output format (HTML) Response is rendered (HTTP response)

MVC Steps

9

The MVC Pattern for Web

SomePage

Controller

HTTP RequestFront controller

(dispatcher)

Model (data)

View(render UI)

User

HTTP Response

Delegate request

Select view amppass data

Use model data

CRUD model

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 6: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

6

Defines how the applicationrsquos user interface (UI) will be displayed May support master views (layouts) May support sub-views (partial views or controls) Web Template to dynamically generate HTML

View

7

The core MVC component ndash holds the logic Process the requests with the help of views and models A set of classes that handles

Communication from the user Overall application flow Application-specific logic

Every controller has one or more actions

Controller

8

Incoming request is routed to a Controller For web HTTP request

Controller processes request and creates a presentation Model Controller also selects appropriate result (view)

Model is passed to View View transforms Model into appropriate output format (HTML) Response is rendered (HTTP response)

MVC Steps

9

The MVC Pattern for Web

SomePage

Controller

HTTP RequestFront controller

(dispatcher)

Model (data)

View(render UI)

User

HTTP Response

Delegate request

Select view amppass data

Use model data

CRUD model

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 7: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

7

The core MVC component ndash holds the logic Process the requests with the help of views and models A set of classes that handles

Communication from the user Overall application flow Application-specific logic

Every controller has one or more actions

Controller

8

Incoming request is routed to a Controller For web HTTP request

Controller processes request and creates a presentation Model Controller also selects appropriate result (view)

Model is passed to View View transforms Model into appropriate output format (HTML) Response is rendered (HTTP response)

MVC Steps

9

The MVC Pattern for Web

SomePage

Controller

HTTP RequestFront controller

(dispatcher)

Model (data)

View(render UI)

User

HTTP Response

Delegate request

Select view amppass data

Use model data

CRUD model

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 8: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

8

Incoming request is routed to a Controller For web HTTP request

Controller processes request and creates a presentation Model Controller also selects appropriate result (view)

Model is passed to View View transforms Model into appropriate output format (HTML) Response is rendered (HTTP response)

MVC Steps

9

The MVC Pattern for Web

SomePage

Controller

HTTP RequestFront controller

(dispatcher)

Model (data)

View(render UI)

User

HTTP Response

Delegate request

Select view amppass data

Use model data

CRUD model

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 9: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

9

The MVC Pattern for Web

SomePage

Controller

HTTP RequestFront controller

(dispatcher)

Model (data)

View(render UI)

User

HTTP Response

Delegate request

Select view amppass data

Use model data

CRUD model

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 10: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

10

PHP CakePHP CodeIgniter Laravel Java Spring Perl Catalyst Dancer Python Django Flask Grok Ruby Ruby on Rails Camping Nitro Sinatra JavaScript AngularJS JavaScriptMVC Spine ASPNET MVC (NET Framework)

MVC Frameworks

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 11: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

ASPNET MVC

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 12: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

12

ASPNET Core

Presentation

Runtime

ASPNET WebForms

ASPNETMVC

Caching NET

HandlersRoutes

Pages OWIN

Globalization

Profile

Web API

IdentityRoles

Etc

ASPNET

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 13: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

13

Stable and mature supported by many third-partycontrols and tools

Event-driven Web development Rapid Application Development Postbacks ViewState Less control over the HTML Hard to test

ASPNET Web Forms

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 14: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

14

Classic ASP introduced in late 1990s 2002 ndash ASPNET 10 (Web Forms) 2008 ndash ASPNET 35 (First version of MVC)

Two more versions in next two years 2010 ndash ASPNET 4 (VS 2010 MVC 20 Razor) 2012 ndash ASPNET 45 (First version of Web API VS 2012) 2013 ndash SignalR 2013 ndash Visual Studio 2013 One ASPNET MVC 5 2015 ndash ASPNET vNext Roslyn OWIN

ASPNET History

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 15: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

15

ASPNET MVC 10 Released on 13 March 2009

ASPNET MVC 20 (Areas Async) Released just one year later on 10 March 2010

ASPNET MVC 30 (Razor) ndash 13 January 2011 ASPNET MVC 40 (Web API) ndash 15 August 2012 ASPNET MVC 50 (Identity) ndash 17 October 2013 ASPNET MVC 60 ndash soon enough

The ASPNET MVC History

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 16: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

16

Web Forms Component-based

ASPNET MVC Web Pages

Lightweight framework for dynamic content

WebAPI Framework for building RESTful Web services

SignalR Real-time client-server communication

One ASPNET

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 17: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

17

Runs on top of ASPNET Not a replacement for Web Forms Leverages the benefits of ASPNET

Embraces the Web SEO-friendly URLs HTML 5 SPA Adopt REST concepts

Uses the MVC pattern Conventions and Guidance Separation of concerns

ASPNET MVC

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 18: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

18

Tight control over markup Testable Loosely coupled and extensible Convention over configuration Razor view engine

One of the greatest view engines With IntelliSense integrated in Visual Studio

Reuse of current skills (C EF LINQ JS etc) Application-based (not scripts like PHP)

ASPNET MVC (2)

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 19: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

19

Each component has one responsibility SRP ndash Single Responsibility Principle DRY ndash Donrsquot Repeat Yourself

More easily testable TDD ndash Test-driven development

Helps with concurrent development Performing tasks concurrently

One developer works on views Another works on controllers

ASPNET MVC Separation of Concerns

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 20: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

20

Replace any component of the system Interface-based architecture

Almost anything can be replaced or extended Model binders (request data to CLR objects) Actionresult filters (eg OnActionExecuting()) Custom action result types View engine (Razor WebForms NHaml Spark) View helpers (HTML AJAX URL etc) Custom data providers (ADONET) etc

Extensible

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 21: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

21

REST-like URLs productsupdate blogposts20130128mvc-is-cool

Friendlier to humans productaspxcatId=123 becomes productschocolate

Friendlier to web crawlers Search engine optimization (SEO)

Clean URLs

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 22: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

22

ASPNET MVC Web API and Web Pages source code is available in CodePlex httpaspnetwebstackcodeplexcom

You can vote for new features in ASPNET UserVoice site httpaspnetuservoicecomforums41199-general-asp-net

vNext is on GitHub httpsgithubcomaspnet

Community-Based

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 23: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

23

MVC Pattern in ASPNET MVC

UsersPeter

Controller(C class)

HTTP Request ASPNET MVC Routing engine

Model (POCO)

View engine(Razor)

User

HTTP Response(HTML File JSON hellip)

Select controller and invoke action (method)

Select view amppass data (model)

Use model data

CRUD model

Web server

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 24: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

Creating an ASPNET MVC Project

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 25: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

25

Tools that we need IDE Visual Studio 2015 (2013 is also OK) Framework NET Framework 452 (45 is also OK) Web server IIS 85 (Express) Data Microsoft SQL Sever (Express or LocalDB)

Visual Studio installer will install everything we need https

wwwvisualstudiocomdownloadsdownload-visual-studio-vs

The Tools

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 26: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

26

Technologies that ASPNET MVC uses C (OOP unit testing async etc) ASPNET HTML(5) and CSS JavaScript (jQuery Bootstrap AngularJS etc) AJAX Single-page apps Databases (Microsoft SQL Server) ORM (Entity Framework and LINQ) Web and HTTP

The Technologies

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 27: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

27

Visual Studio 2015 New Project

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 28: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

28

Default Layout for ASPNET MVC Apps

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 29: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

29

Internet App Project Files

All controllers and actions

Webconfig ndash Configuration file

Application_Start() ndash The entry point of the application

JavaScript files (jQuery Modernizr knockout etc)

View templates

_Layoutcshtml ndash master page (main template)

Static files (CSS Images etc)

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 30: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

Demo Web ApplicationMaking Changes and Debugging

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 31: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

NuGet Package Management

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 32: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

32

Free open source package management Makes it easy to install and update open source libraries and

tools Part of Visual Studio 201220132015 Configurable package sources Simple as adding a reference GUI-based package installer Package manager console

NuGet Package Management

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 33: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

33

Nightly builds of ASPNET MVC are available via a private NuGet feed In your Package Manager settings add the following package source httpwwwmygetorgFaspnetwebstacknightly

Nightly Builds

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 34: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

Demo NuGetInstall and Update Packages

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 35: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

Server Information with GlimpseThe Open Source Diagnostics Platform

of the Web

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 36: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

36

Glimpse shows execution timings server configuration request data and more Showed inside browser (like Firebug) With no changes to the application code Supports ASPNET MVC WebForms and EF

Server Info with Glimpse

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 37: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

37

1 Install NuGet packages GlimpseMvc5 GlimpseEF6

2 Run the project

3 Configure it httplocalhostportGlimpseaxd

Install Glimpse

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 38: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

38

The Trace tab shows any messages during the lifetime of the HTTP request traced to SystemDiagnosticsTrace or SystemDiagnosticsDebug

Tracing with Glimpse

TraceTraceInformation(Info example)TraceTraceWarning(Warning example)DebugWriteLine(Debug example)

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 39: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

Demo Glimpse

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 40: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

40

Modelndashviewndashcontroller (MVC) is a software architecture pattern ASPNET MVC is a great platform for developing Internet

applications Visual Studio is the main development tool for creating ASPNET

MVC applications Almost everything in ASPNET MVC is a package

Glimpse is a tool that helps with debugging

Summary

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 41: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

Questions

httpssoftunibgtrainings1230asp-net-mvc-october-2015

ASPNET MVC Introduction

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 42: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

License

This course (slides examples labs videos homework etc)is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 40 International license

42

Attribution this work may contain portions from Fundamentals of Computer Programming with C book by Svetlin Nakov amp Co under CC-BY-SA license

Data Structures and Algorithms course by Telerik Academy under CC-BY-NC-SA license

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University
Page 43: ASP.NET MVC Introduction MVC, Models, Views, Controllers, ASP.NET SoftUni Team Technical Trainers Software University

Free Trainings Software University Software University Foundation ndash softuniorg Software University ndash High-Quality Education

Profession and Job for Software Developers softunibg

Software University Facebook facebookcomSoftwareUniversity

Software University YouTube youtubecomSoftwareUniversity

Software University Forums ndash forumsoftunibg

  • ASPNET MVC Introduction
  • Table of Contents
  • The MVC Pattern
  • The MVC Pattern (2)
  • Model
  • View
  • Controller
  • MVC Steps
  • The MVC Pattern for Web
  • MVC Frameworks
  • ASPNET MVC
  • ASPNET Core
  • ASPNET Web Forms
  • ASPNET History
  • The ASPNET MVC History
  • One ASPNET
  • ASPNET MVC (2)
  • ASPNET MVC (2) (2)
  • ASPNET MVC Separation of Concerns
  • Extensible
  • Clean URLs
  • Community-Based
  • MVC Pattern in ASPNET MVC
  • Creating an ASPNET MVC Project
  • The Tools
  • The Technologies
  • Visual Studio 2015 New Project
  • Default Layout for ASPNET MVC Apps
  • Internet App Project Files
  • Demo Web Application
  • NuGet Package Management
  • NuGet Package Management (2)
  • Nightly Builds
  • Demo NuGet
  • Server Information with Glimpse
  • Server Info with Glimpse
  • Install Glimpse
  • Tracing with Glimpse
  • Demo Glimpse
  • Summary
  • ASPNET MVC Introduction (2)
  • License
  • Free Trainings Software University