SlideShare a Scribd company logo
ASP.NET MVC
Bhavin Shah
Software Engineer @ Sfw India Pvt. Ltd .
Agenda
Beforehand – ASP.NET Web Forms
What is MVC
What is ASP.NET MVC?
Models
Views
Controllers
Validation
Routing
Unit Tests
View engines
2
ASP.NET Web Forms
Rich controls and tools
Postbacks
Event driven web development
Viewstate
Less control over the HTML
Hard to test
Rapid development
3
Let’s chat for a bit…
4
What is MVC
5
Model – View - Controller
6
Controller - responsible for handling all user
input
Model - represents the logic of the application
View - the visual representation of the model
ASP.NET MVC
More control over HTML
No Codebehind
Separation of concerns
Easy to test
URL routing
No postbacks
No ViewState
7
Models
The model should contain all of the application
business logic, validation logic, and database
access logic.
ASP.NET MVC is compatible with any data
access technology (for example LINQ to SQL)
All .edmx files, .dbml files etc. are located in
the Models folder.
8
Custom View Models
9
When you combine properties to display on a
View
namespace ContosoUniversity.ViewModels
{
public class AssignedCourseData
{
public int CourseID { get; set; }
public string Title { get; set; }
public bool Assigned { get; set; }
}
}
Creating a Model - DEMO
10
What is Controller?
It is a class
Derives from the base
System.Web.Mvc.Controller class
Generates the response to the browser request
11
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About()
{
return View();
}
}
Controller Actions
Public method of the Controller class
Cannot be overloaded
Cannot be a static method
Returns action result
12
public ActionResult About()
{
return View();
}
Action Results
Controller action response to a browser
request
Inherits from the base ActionResult class
Different results types
13
Implement a Controller -
DEMO
14
Action Results Types
ViewResult
EmptyResult
RedirectResult
JsonResult
JavaScriptResult
ContentResult
FileContentResult
FileStreamResult
FilePathResult
15
Controller base class
methodsView
Redirect
RedirectToAction
RedirectToRoute
Json
JavaScriptResult
Content
File
16
Views
Most of the Controller Actions return views
The path to the view is inferred from the name
of the controller and the name of the
controller action.
ViewsControllerNameControllerAction.aspx
A view is a standard (X)HTML document that
can contain scripts.
script delimiters <% and %> in the views
17
Pass Data to a View
With ViewData:
ViewData["message"] = "Hello World!";
Strongly typed ViewData:
− ViewData.Model = OurModel;
With ViewBag:
ViewBag.Message = "Hello World!";
18
Post data to a controller
Verb Attributes
The action method in the controller accepts the
values posted from the view.
The view form fields must match the same
names in the controller.
19
[HttpPost]
public ActionResult Edit(Movie movie)
{
if (ModelState.IsValid)
{
db.Entry(movie).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(movie);
}
Explore a View - DEMO
20
HTML Helpers
Methods which typically return string.
Used to generate standard HTML elements
textboxes, dropdown lists, links etc.
Example: Html.TextBox() method
Usage is optional
You can create your own HTML Helpers
21
Validation
Two types of validation error messages
generated before the HTML form fields are
bound to a class
generated after the form fields are bound to the
class
Model State
Validation Helpers
Html.ValidationMessage()
Html.ValidationSummary()
22
ventsypopov.com
Implement validation- DEMO
23
Routing
The Routing module is responsible for
mapping incoming browser requests to
particular MVC controller actions.
Two places to setup:
Web.config file
Global.asax file
24
Routing Setup
Web.config file
25
<system.web>
<httpModules>
…
<system.web>
<httpHandlers>
…
<system.webServer>
<modules> …
<system.webServer>
<handlers>
…
Routing Setup
Global.asax file
26
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home",
action = "Index", id = "" }
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}
URL Example
http://www.mysite.com/Home/About/6
{controller} = Home
{action} = About
{id} = 6
27
ventsypopov.com
Routing example - DEMO
28
ventsypopov.com
Unit Tests
Used for the business logic (not DAL or View
logic).
Test individual “unit”of code
Make the code safe to modify
Mock Object framework
When you lack “real” objects
Create mocks for the classes in the application
Test with mock objects
29
Unit Tests - DEMO
30
ventsypopov.com
View Engines
Handles the rendering of the view to UI
(html/xml);
Different view engines have different syntax
ASP.NET MVC 3 Pre-included View Engines:
Web Forms
Razor
31
View Engines - DEMO
32
Things to remember
What MVC stands for
How ASP.NET MVC differs from Web Forms
Where is routing configured
How to validate business logic
How to use helpers
Unit tests basics
Choice between “View Engines”
33
Useful sites
http://www.asp.net/mvc
http://msdn.microsoft.com/en-us/library/dd39470
http://stackoverflow.com/
http://jquery.com/
34
ASP.NET MVC
Email: bhavinshah1988@gmail.com
Time to wake up :)
36

More Related Content

PPT
ASP.NET MVC Presentation
PDF
Model View Controller (MVC)
PDF
P1 introduction à android
PPTX
Model view controller (mvc)
PPTX
Chp2 - Vers les Architectures Orientées Services
PDF
Data Science Project Lifecycle
PPTX
Php.ppt
PPT
Introduction To Dotnet
ASP.NET MVC Presentation
Model View Controller (MVC)
P1 introduction à android
Model view controller (mvc)
Chp2 - Vers les Architectures Orientées Services
Data Science Project Lifecycle
Php.ppt
Introduction To Dotnet

What's hot (20)

PPTX
ASP.NET MVC Presentation
PPTX
Java script
PPTX
Introduction to mvc architecture
PPTX
Asp.net MVC training session
PPTX
Javascript 101
PPTX
ASP.NET MVC.
 
PPT
ASP .net MVC
PDF
HTTP Request and Response Structure
PPTX
PPT
Struts
PPTX
Introduction to Spring Boot
PPTX
Lab #2: Introduction to Javascript
PPTX
Jquery Complete Presentation along with Javascript Basics
PDF
C# ASP.NET WEB API APPLICATION DEVELOPMENT
PDF
Bootstrap
PPTX
ASP.NET Web API
PDF
3. Java Script
PPTX
Angular interview questions
PPTX
Introduction to ASP.NET
ASP.NET MVC Presentation
Java script
Introduction to mvc architecture
Asp.net MVC training session
Javascript 101
ASP.NET MVC.
 
ASP .net MVC
HTTP Request and Response Structure
Struts
Introduction to Spring Boot
Lab #2: Introduction to Javascript
Jquery Complete Presentation along with Javascript Basics
C# ASP.NET WEB API APPLICATION DEVELOPMENT
Bootstrap
ASP.NET Web API
3. Java Script
Angular interview questions
Introduction to ASP.NET
Ad

Similar to MVC ppt presentation (20)

PPTX
Asp.Net MVC Intro
PPTX
PPTX
ASP.NET MVC Fundamental
PPTX
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
PPTX
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
PPTX
8-9-10. ASP_updated8-9-10. ASP_updated8-9-10. ASP_updated
PPT
ASP.NET-MVC-Part-1.ppt
PPT
AspMVC4 start101
PPSX
Asp.net mvc
PPT
Asp.net mvc
PPTX
Getting started with MVC 5 and Visual Studio 2013
PPTX
Optimizing Code Reusability for SharePoint using Linq to SharePoint & the MVP...
PPTX
ASP.net MVC Introduction Wikilogia (nov 2014)
PPTX
Intro ASP MVC
PPTX
ASP.MVC Training
PPS
Introduction To Mvc
PPTX
Modern ASP.NET Webskills
PPT
Building a MVC eCommerce Site in Under 5 Minutes
PPTX
Introduction to ASP.NET MVC
Asp.Net MVC Intro
ASP.NET MVC Fundamental
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
8-9-10. ASP_updated8-9-10. ASP_updated8-9-10. ASP_updated
ASP.NET-MVC-Part-1.ppt
AspMVC4 start101
Asp.net mvc
Asp.net mvc
Getting started with MVC 5 and Visual Studio 2013
Optimizing Code Reusability for SharePoint using Linq to SharePoint & the MVP...
ASP.net MVC Introduction Wikilogia (nov 2014)
Intro ASP MVC
ASP.MVC Training
Introduction To Mvc
Modern ASP.NET Webskills
Building a MVC eCommerce Site in Under 5 Minutes
Introduction to ASP.NET MVC
Ad

More from Bhavin Shah (6)

PPTX
Node Session - 4
PPTX
Node Session - 3
PPTX
Node Session - 2
PPTX
Node Session - 1
PDF
What is Penetration & Penetration test ?
PDF
Cyber security
Node Session - 4
Node Session - 3
Node Session - 2
Node Session - 1
What is Penetration & Penetration test ?
Cyber security

Recently uploaded (20)

PDF
Omni-Path Integration Expertise Offered by Nor-Tech
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Sensors and Actuators in IoT Systems using pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Cloud computing and distributed systems.
PDF
Newfamily of error-correcting codes based on genetic algorithms
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
DevOps & Developer Experience Summer BBQ
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
SAP855240_ALP - Defining the Global Template PUBLIC.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
KodekX | Application Modernization Development
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Omni-Path Integration Expertise Offered by Nor-Tech
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
HCSP-Presales-Campus Network Planning and Design V1.0 Training Material-Witho...
Chapter 2 Digital Image Fundamentals.pdf
NewMind AI Monthly Chronicles - July 2025
Sensors and Actuators in IoT Systems using pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Cloud computing and distributed systems.
Newfamily of error-correcting codes based on genetic algorithms
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
CIFDAQ's Market Insight: SEC Turns Pro Crypto
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
DevOps & Developer Experience Summer BBQ
Advanced Soft Computing BINUS July 2025.pdf
Modernizing your data center with Dell and AMD
SAP855240_ALP - Defining the Global Template PUBLIC.pdf
20250228 LYD VKU AI Blended-Learning.pptx
KodekX | Application Modernization Development
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...

MVC ppt presentation

Editor's Notes

  • #6: Анализ при архитектурни решения – взимаме стратегически решения свързани с бизнес нуждите на системата, която изграждаме. Обмисляме сигурност, производителност, поддръжка, надеждност, интеграция с тестови приложения, леснота и удобство на употреба на системата. Проблеми, с които се сблъскваме: Честа смяна на потребителски интерфейс Различно представяне на едни и същи данни Работа върху различни устройства Улеснено модулно тестване на системата Как да ги решаваме: Независимост на отделните модули Преизползваемост на модулите Добра структурна организация на системата
  • #16: Viewresult - If you want an action method to result in a rendered view, the action method should return a call to the controller&amp;apos;s View helper method. The View helper method passes a ViewResult object to the ASP.NET MVC framework, which calls the object&amp;apos;s ExecuteResult method. JsonResult - Represents a class that is used to send JSON-formatted content to the response. JavaScriptResult - Sends JavaScript content to the response. ContentResult - Represents a user-defined content type that is the result of an action method. FileContntResult - Represents a class that is used to send binary file content to the response FileStreamResult - Sends binary content to the response by using a Stream instance. FilePathResult - Sends the contents of a file to the response
  • #17: View - Creates a ViewResult object that renders a view to the response. Redirect - Creates a RedirectResult object that redirects to the specified URL. RedirectToAction - Redirects to the specified action using the action name Json - Creates a JsonResult object that serializes the specified object to JavaScript Object Notation (JSON) format. JavaScript - Creates a JavaScriptResult object Content - Creates a content result object by using a string. File - Creates a FileContentResult object by using the file contents and file type.
  • #22: To create HTML helper – a class with public static string methods and refer the namespace in the view.
  • #23: Html.ValidationMessage() - Displays a validation message if an error exists for the specified field in the ModelStateDictionary object Html.ValidationSummary() - Returns an unordered list (ul element) of validation messages that are in the ModelStateDictionary object.