SlideShare a Scribd company logo
ASP.NET MVC
@{ Introduction & Guidelines }
Speaker Introduction
Dev Raj Gautam
Application & Database Specialist
Nutrition Innovation Lab: Nepal
Active Contributor @ASP.NET Community
http://blogs.devgautam.com.np/
Have been in industry since 2009. Worked with government, local
companies, outsourcing companies and Ingo's .
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Agenda
• Introduction to MVC
• What Does MVC Offer?
• Demo
• Routing & Web API.
• Web Forms Or MVC?
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Introduction
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Asp.Net MVC1
Released on Mar 13, 2009
ASP.NET Web Forms is not part of ASP.NET 5
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
I was already there from
70’s
MVC
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
MVC
• Stands for Model View Controller. Common design pattern for
• MVC is a software architectural pattern that follows the 'Separation of
Concerns' principle. This principle divides an application into three
interconnected parts as Model, View and Controller each with very
specific set of responsibilities. The goal of this pattern is that each of
these parts can be developed and tested in relative isolation and then
combine together to create a very robust application.
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Model-View-Controller
• Model: These are the classes that contain data. They can practically
be any class that can be instantiated and can provide some data.
These can be entity framework generated entities, collection, generics
or even generic collections too.
• Controllers: These are the classes that will be invoked on user
requests. The main tasks of these are to generate the model class
object, pass them to some view and tell the view to generate markup
and render it on user browser.
• Views: The part of the application that handles user interaction.
Typically controllers read data from a view, control user input, and
send input data to the model.
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
How MVC Works?
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
What does MVC Offer?
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Performance
• ASP.NET MVC don’t have support for view state, so there will not be
any automatic state management which reduces the page size and so
gain the performance.
ViewState
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Separation Of Concern
• When we talk about Views and Controllers, their ownership itself
explains separation.The Views are just the presentation form of an
application, it does not need to know specifically about the requests
coming from the Controller. The Model is independent of Views and
Controllers, it only holds business entities that can be ed to any View
by the Controller as per the needs for exposing them to the end user.
The Controller is independent of Views and Models, its sole purpose
is to handle requests and them on as per the routes defined and as
per the needs of the rendering Views. Thus our business entities
(Model), business logic (Controllers) and presentation logic (Views) lie
in logical/physical layers independent of each other.
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Existing ASP.NET Features
• ASP.NET MVC framework is built on top of matured ASP.NET
framework and thus provides developer to use many good features
such as forms authentication, windows authentication, caching,
session and profile state management etc.
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Parallel Development
• In ASP.NET MVC layers are loosely coupled with each other, so one
developer can work on Controller ,at the same time other on View
and third developer on Model. This is called parallel development.
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Full Control Over <HTML></HTML>
• ASP.NET MVC doesn’t support server controls, only option available is
using html input controls, so we will be sure about final html
rendered at the end. We will also be aware about 'id' of every
element. And so integration of ASP.NET MVC application with third
party JavaScript libraries like jQuery becomes easy.
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Testing
• Asp.Net webforms is dependent on HttpContext.Current, our pages as
part of the HttpApplication executing the request Which makes
• These are all easily mockable!
• HttpContextBase, HttpResponseBase, HttpRequestBase
[TestMethod]
public void ShowPostsDisplayPostView()
{
BlogController controller = new BlogController(…);
var result = controller.ShowPost(2) as ViewResult;
Assert.IsNotNull(result);
Assert.AreEqual(result.ViewData["Message"], "Hello");
}
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Testing
• [TestMethod]
• public void TestInvalidCredentials()
• {
• LoginController controller = new LoginController();
• var mock = new Mock<System.Web.Security.MembershipProvider>();
• mock.Expect(m => m.ValidateUser("", "")).Returns(false);
• controller.MembershipProviderInstance = mock.Object;
• var result = controller.Authenticate("", "") as ViewResult;
• Assert.IsNotNull(result);
• Assert.AreEqual(result.ViewName, "Index");
• Assert.AreEqual(controller.ViewData["ErrorMessage"], "Invalid credentials!
Please verify your username and password.");
• }
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Clean URLS
• ASP.NET MVC is so tightly integrated with the ASP.NET Routing engine,
it is simple to take control over the URLs that your application
exposes.
Would you use:
/Products.aspx?CategoryID={3F2504E0-4F89-11D3-9A0C-0305E82C3301}
Or:
/Products/Books
SEO
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Demo
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
What’s In Demo
• Understanding the MVC Project Structure
• Understanding and Modifying the Layout and Templeates
• CRUD with project template
• CRUD DIY with code
• Basics of Routing
• Basics of Web API
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Routing & Web API
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Routing
• Routing maps request URL to a specific controller action using a
Routing Table
• Routing Engine uses routing rules that are defined in Global.asax file
in order to parse the URL and find out the path of corresponding
controller.
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
WEB API
• Restful framework for Building HTTP Based services
• What is Rest? “Rest is an architectural style that abstracts the
architectural elements within a distributed hypermedia system”
• https://api.twitter.com/1.1/statuses/retweets/2.json
• Web API is not MVC
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
What In the
World Is WCF
Then? HUH!!!!
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Use When?
Web API
• Only working with HTTP
• Want RESTful endpoints
• Don’t need multiple protocols
• Don’t expose SOAP endpoints
• Want Simple Configuration
WCF
• Needs to support multiple
protocols
• Need to expose SOAP endpoints
• Need Complex Configuration
• Need RPC Style Requests
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Web Forms or MVC?
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Web Forms or MVC?
Web Froms
• Winforms-alike event model
• Familiar controls & Rich
• Familiar = rapid application
development
• Functionality per page
• Uses viewstate for state
management
• Less control over rendered HTML
• Event Driven Programming
• Oh wow! I can turn of or control
View State Size.
MVC
• Less complex: separation of
concerns
• Easier parallel development
• TDD support
• No viewstate, …
• Full control over behavior and
HTML
• Extensive Javascript
• Makes you think
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Web Forms or MVC?
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Web Forms or MVC?
• Mixing the Technologies can also do wonders for some solutions
MVC Web Forms
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Verdict?
• Please decide on your own on the basis of previous slides.
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
Thank You
©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/

More Related Content

What's hot (20)

ASP.NET MVC.
ASP.NET MVC.ASP.NET MVC.
ASP.NET MVC.
Ni
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar Presantation
Abhishek Yadav
 
ASP .NET MVC
ASP .NET MVC ASP .NET MVC
ASP .NET MVC
eldorina
 
Asp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin SawantAsp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin Sawant
Nitin S
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
Naga Harish M
 
ASP.NET MVC for Begineers
ASP.NET MVC for BegineersASP.NET MVC for Begineers
ASP.NET MVC for Begineers
Shravan Kumar Kasagoni
 
CTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVCCTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVC
Barry Gervin
 
ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
Buu Nguyen
 
Asp.net MVC training session
Asp.net MVC training sessionAsp.net MVC training session
Asp.net MVC training session
Hrichi Mohamed
 
Silver Light By Nyros Developer
Silver Light By Nyros DeveloperSilver Light By Nyros Developer
Silver Light By Nyros Developer
Nyros Technologies
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
Er. Kamal Bhusal
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobile
naral
 
MVC Framework
MVC FrameworkMVC Framework
MVC Framework
Ashton Feller
 
MVC Architecture
MVC ArchitectureMVC Architecture
MVC Architecture
baabtra.com - No. 1 supplier of quality freshers
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
Javier Antonio Humarán Peñuñuri
 
MVC architecture
MVC architectureMVC architecture
MVC architecture
Emily Bauman
 
Model view controller (mvc)
Model view controller (mvc)Model view controller (mvc)
Model view controller (mvc)
M Ahsan Khan
 
Mvc pattern and implementation in java fair
Mvc   pattern   and implementation   in   java fairMvc   pattern   and implementation   in   java fair
Mvc pattern and implementation in java fair
Tech_MX
 
Mvc fundamental
Mvc fundamentalMvc fundamental
Mvc fundamental
Nguyễn Thành Phát
 
What's new in asp.net mvc 4
What's new in asp.net mvc 4What's new in asp.net mvc 4
What's new in asp.net mvc 4
Simone Chiaretta
 

Viewers also liked (17)

DotNet programming & Practices
DotNet programming & PracticesDotNet programming & Practices
DotNet programming & Practices
Dev Raj Gautam
 
Why MVC?
Why MVC?Why MVC?
Why MVC?
Wayne Tun Myint
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
Pankaj Kushwaha
 
Double cartridge seal
Double cartridge sealDouble cartridge seal
Double cartridge seal
American Seal and Packing
 
El sectorterciari pvr
El sectorterciari pvrEl sectorterciari pvr
El sectorterciari pvr
llulsil23
 
What is Split seals?
What is Split seals?What is Split seals?
What is Split seals?
American Seal and Packing
 
Plant climo office(1) (1)
Plant climo office(1) (1)Plant climo office(1) (1)
Plant climo office(1) (1)
llulsil23
 
Pathos presentation
Pathos presentationPathos presentation
Pathos presentation
Kassia Waggoner
 
Aix admin-course-provider-navi-mumbai
Aix admin-course-provider-navi-mumbaiAix admin-course-provider-navi-mumbai
Aix admin-course-provider-navi-mumbai
anshkhurana01
 
Ci powerpoint
Ci powerpointCi powerpoint
Ci powerpoint
tanyacork
 
What is Spiral Wound Gaskets?
What is Spiral Wound Gaskets?What is Spiral Wound Gaskets?
What is Spiral Wound Gaskets?
American Seal and Packing
 
Java j2ee-training-course-navi-mumbai-java-j2ee-course-provider-navi-mumbai
Java j2ee-training-course-navi-mumbai-java-j2ee-course-provider-navi-mumbaiJava j2ee-training-course-navi-mumbai-java-j2ee-course-provider-navi-mumbai
Java j2ee-training-course-navi-mumbai-java-j2ee-course-provider-navi-mumbai
anshkhurana01
 
Tibco training-course-navi-mumbai-tibco-course-provider-navi-mumbai
Tibco training-course-navi-mumbai-tibco-course-provider-navi-mumbaiTibco training-course-navi-mumbai-tibco-course-provider-navi-mumbai
Tibco training-course-navi-mumbai-tibco-course-provider-navi-mumbai
anshkhurana01
 
E&C Вrodaband 2015 Власть перезагрузка создание коммуникациинной платформы дл...
E&C Вrodaband 2015 Власть перезагрузка создание коммуникациинной платформы дл...E&C Вrodaband 2015 Власть перезагрузка создание коммуникациинной платформы дл...
E&C Вrodaband 2015 Власть перезагрузка создание коммуникациинной платформы дл...
Expert and Consulting (EnC)
 
05php
05php05php
05php
anshkhurana01
 
sas-course-provider-navi-mumbai-sas-training-navi-mumbai-sas-classes-navi-mumbai
sas-course-provider-navi-mumbai-sas-training-navi-mumbai-sas-classes-navi-mumbaisas-course-provider-navi-mumbai-sas-training-navi-mumbai-sas-classes-navi-mumbai
sas-course-provider-navi-mumbai-sas-training-navi-mumbai-sas-classes-navi-mumbai
anshkhurana01
 
Capital steel buildings business opportunities-uk
Capital steel buildings  business opportunities-ukCapital steel buildings  business opportunities-uk
Capital steel buildings business opportunities-uk
Rehmat Ullah
 
DotNet programming & Practices
DotNet programming & PracticesDotNet programming & Practices
DotNet programming & Practices
Dev Raj Gautam
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
Pankaj Kushwaha
 
El sectorterciari pvr
El sectorterciari pvrEl sectorterciari pvr
El sectorterciari pvr
llulsil23
 
Plant climo office(1) (1)
Plant climo office(1) (1)Plant climo office(1) (1)
Plant climo office(1) (1)
llulsil23
 
Aix admin-course-provider-navi-mumbai
Aix admin-course-provider-navi-mumbaiAix admin-course-provider-navi-mumbai
Aix admin-course-provider-navi-mumbai
anshkhurana01
 
Ci powerpoint
Ci powerpointCi powerpoint
Ci powerpoint
tanyacork
 
Java j2ee-training-course-navi-mumbai-java-j2ee-course-provider-navi-mumbai
Java j2ee-training-course-navi-mumbai-java-j2ee-course-provider-navi-mumbaiJava j2ee-training-course-navi-mumbai-java-j2ee-course-provider-navi-mumbai
Java j2ee-training-course-navi-mumbai-java-j2ee-course-provider-navi-mumbai
anshkhurana01
 
Tibco training-course-navi-mumbai-tibco-course-provider-navi-mumbai
Tibco training-course-navi-mumbai-tibco-course-provider-navi-mumbaiTibco training-course-navi-mumbai-tibco-course-provider-navi-mumbai
Tibco training-course-navi-mumbai-tibco-course-provider-navi-mumbai
anshkhurana01
 
E&C Вrodaband 2015 Власть перезагрузка создание коммуникациинной платформы дл...
E&C Вrodaband 2015 Власть перезагрузка создание коммуникациинной платформы дл...E&C Вrodaband 2015 Власть перезагрузка создание коммуникациинной платформы дл...
E&C Вrodaband 2015 Власть перезагрузка создание коммуникациинной платформы дл...
Expert and Consulting (EnC)
 
sas-course-provider-navi-mumbai-sas-training-navi-mumbai-sas-classes-navi-mumbai
sas-course-provider-navi-mumbai-sas-training-navi-mumbai-sas-classes-navi-mumbaisas-course-provider-navi-mumbai-sas-training-navi-mumbai-sas-classes-navi-mumbai
sas-course-provider-navi-mumbai-sas-training-navi-mumbai-sas-classes-navi-mumbai
anshkhurana01
 
Capital steel buildings business opportunities-uk
Capital steel buildings  business opportunities-ukCapital steel buildings  business opportunities-uk
Capital steel buildings business opportunities-uk
Rehmat Ullah
 
Ad

Similar to ASP .NET MVC Introduction & Guidelines (20)

SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe
 
MVC architecture
MVC architectureMVC architecture
MVC architecture
baabtra.com - No. 1 supplier of quality freshers
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
Mayank Srivastava
 
Intro ASP MVC
Intro ASP MVCIntro ASP MVC
Intro ASP MVC
KrishnaPPatel
 
Which is better asp.net mvc vs asp.net
Which is better  asp.net mvc vs asp.netWhich is better  asp.net mvc vs asp.net
Which is better asp.net mvc vs asp.net
Concetto Labs
 
ASPNet MVC series for beginers part 1
ASPNet MVC series for beginers part 1ASPNet MVC series for beginers part 1
ASPNet MVC series for beginers part 1
Gaurav Arora
 
Asp net mvc series for beginers part 1
Asp net mvc series for beginers part 1Asp net mvc series for beginers part 1
Asp net mvc series for beginers part 1
Gaurav Arora
 
Introduction To Mvc
Introduction To MvcIntroduction To Mvc
Introduction To Mvc
Volkan Uzun
 
Asp.net,mvc
Asp.net,mvcAsp.net,mvc
Asp.net,mvc
Prashant Kumar
 
Introduction to ASP.Net MVC
Introduction to ASP.Net MVCIntroduction to ASP.Net MVC
Introduction to ASP.Net MVC
Sagar Kamate
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
Mayank Srivastava
 
Asp.Net MVC Intro
Asp.Net MVC IntroAsp.Net MVC Intro
Asp.Net MVC Intro
Stefano Paluello
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
Rasel Khan
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)
Hatem Hamad
 
Technoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development servicesTechnoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development services
Aaron Jacobson
 
Asp.net With mvc handson
Asp.net With mvc handsonAsp.net With mvc handson
Asp.net With mvc handson
Prashant Kumar
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
Taranjeet Singh
 
Aspnetmvc 1
Aspnetmvc 1Aspnetmvc 1
Aspnetmvc 1
Fajar Baskoro
 
Asp 1a-aspnetmvc
Asp 1a-aspnetmvcAsp 1a-aspnetmvc
Asp 1a-aspnetmvc
Fajar Baskoro
 
MVC 4
MVC 4MVC 4
MVC 4
Vasilios Kuznos
 
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe
 
Which is better asp.net mvc vs asp.net
Which is better  asp.net mvc vs asp.netWhich is better  asp.net mvc vs asp.net
Which is better asp.net mvc vs asp.net
Concetto Labs
 
ASPNet MVC series for beginers part 1
ASPNet MVC series for beginers part 1ASPNet MVC series for beginers part 1
ASPNet MVC series for beginers part 1
Gaurav Arora
 
Asp net mvc series for beginers part 1
Asp net mvc series for beginers part 1Asp net mvc series for beginers part 1
Asp net mvc series for beginers part 1
Gaurav Arora
 
Introduction To Mvc
Introduction To MvcIntroduction To Mvc
Introduction To Mvc
Volkan Uzun
 
Introduction to ASP.Net MVC
Introduction to ASP.Net MVCIntroduction to ASP.Net MVC
Introduction to ASP.Net MVC
Sagar Kamate
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
Mayank Srivastava
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
Rasel Khan
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)
Hatem Hamad
 
Technoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development servicesTechnoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development services
Aaron Jacobson
 
Asp.net With mvc handson
Asp.net With mvc handsonAsp.net With mvc handson
Asp.net With mvc handson
Prashant Kumar
 
Ad

More from Dev Raj Gautam (8)

Protecting PII & AI Workloads in PostgreSQL
Protecting PII &  AI Workloads in PostgreSQLProtecting PII &  AI Workloads in PostgreSQL
Protecting PII & AI Workloads in PostgreSQL
Dev Raj Gautam
 
RED’S, GREEN’S & BLUE’S OF PROJECT/PRODUCT MANAGEMENT
RED’S, GREEN’S & BLUE’S  OF  PROJECT/PRODUCT MANAGEMENTRED’S, GREEN’S & BLUE’S  OF  PROJECT/PRODUCT MANAGEMENT
RED’S, GREEN’S & BLUE’S OF PROJECT/PRODUCT MANAGEMENT
Dev Raj Gautam
 
Making machinelearningeasier
Making machinelearningeasierMaking machinelearningeasier
Making machinelearningeasier
Dev Raj Gautam
 
Recommender System Using AZURE ML
Recommender System Using AZURE MLRecommender System Using AZURE ML
Recommender System Using AZURE ML
Dev Raj Gautam
 
From c# Into Machine Learning
From c# Into Machine LearningFrom c# Into Machine Learning
From c# Into Machine Learning
Dev Raj Gautam
 
Machine Learning With ML.NET
Machine Learning With ML.NETMachine Learning With ML.NET
Machine Learning With ML.NET
Dev Raj Gautam
 
Intelligent bots
Intelligent botsIntelligent bots
Intelligent bots
Dev Raj Gautam
 
SOA & WCF
SOA & WCFSOA & WCF
SOA & WCF
Dev Raj Gautam
 
Protecting PII & AI Workloads in PostgreSQL
Protecting PII &  AI Workloads in PostgreSQLProtecting PII &  AI Workloads in PostgreSQL
Protecting PII & AI Workloads in PostgreSQL
Dev Raj Gautam
 
RED’S, GREEN’S & BLUE’S OF PROJECT/PRODUCT MANAGEMENT
RED’S, GREEN’S & BLUE’S  OF  PROJECT/PRODUCT MANAGEMENTRED’S, GREEN’S & BLUE’S  OF  PROJECT/PRODUCT MANAGEMENT
RED’S, GREEN’S & BLUE’S OF PROJECT/PRODUCT MANAGEMENT
Dev Raj Gautam
 
Making machinelearningeasier
Making machinelearningeasierMaking machinelearningeasier
Making machinelearningeasier
Dev Raj Gautam
 
Recommender System Using AZURE ML
Recommender System Using AZURE MLRecommender System Using AZURE ML
Recommender System Using AZURE ML
Dev Raj Gautam
 
From c# Into Machine Learning
From c# Into Machine LearningFrom c# Into Machine Learning
From c# Into Machine Learning
Dev Raj Gautam
 
Machine Learning With ML.NET
Machine Learning With ML.NETMachine Learning With ML.NET
Machine Learning With ML.NET
Dev Raj Gautam
 

Recently uploaded (20)

Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
Edge AI and Vision Alliance
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
FME Beyond Data Processing Creating A Dartboard Accuracy App
FME Beyond Data Processing Creating A Dartboard Accuracy AppFME Beyond Data Processing Creating A Dartboard Accuracy App
FME Beyond Data Processing Creating A Dartboard Accuracy App
Safe Software
 
Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Dancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptxDancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptx
Elliott Richmond
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
Domino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use CasesDomino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use Cases
panagenda
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
Edge AI and Vision Alliance
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
FME Beyond Data Processing Creating A Dartboard Accuracy App
FME Beyond Data Processing Creating A Dartboard Accuracy AppFME Beyond Data Processing Creating A Dartboard Accuracy App
FME Beyond Data Processing Creating A Dartboard Accuracy App
Safe Software
 
Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Dancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptxDancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptx
Elliott Richmond
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
Domino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use CasesDomino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use Cases
panagenda
 

ASP .NET MVC Introduction & Guidelines

  • 2. Speaker Introduction Dev Raj Gautam Application & Database Specialist Nutrition Innovation Lab: Nepal Active Contributor @ASP.NET Community http://blogs.devgautam.com.np/ Have been in industry since 2009. Worked with government, local companies, outsourcing companies and Ingo's . ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 3. Agenda • Introduction to MVC • What Does MVC Offer? • Demo • Routing & Web API. • Web Forms Or MVC? ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 4. Introduction ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 5. Asp.Net MVC1 Released on Mar 13, 2009 ASP.NET Web Forms is not part of ASP.NET 5 ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 6. I was already there from 70’s MVC ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 7. MVC • Stands for Model View Controller. Common design pattern for • MVC is a software architectural pattern that follows the 'Separation of Concerns' principle. This principle divides an application into three interconnected parts as Model, View and Controller each with very specific set of responsibilities. The goal of this pattern is that each of these parts can be developed and tested in relative isolation and then combine together to create a very robust application. ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 8. Model-View-Controller • Model: These are the classes that contain data. They can practically be any class that can be instantiated and can provide some data. These can be entity framework generated entities, collection, generics or even generic collections too. • Controllers: These are the classes that will be invoked on user requests. The main tasks of these are to generate the model class object, pass them to some view and tell the view to generate markup and render it on user browser. • Views: The part of the application that handles user interaction. Typically controllers read data from a view, control user input, and send input data to the model. ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 9. How MVC Works? ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 10. What does MVC Offer? ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 11. Performance • ASP.NET MVC don’t have support for view state, so there will not be any automatic state management which reduces the page size and so gain the performance. ViewState ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 12. Separation Of Concern • When we talk about Views and Controllers, their ownership itself explains separation.The Views are just the presentation form of an application, it does not need to know specifically about the requests coming from the Controller. The Model is independent of Views and Controllers, it only holds business entities that can be ed to any View by the Controller as per the needs for exposing them to the end user. The Controller is independent of Views and Models, its sole purpose is to handle requests and them on as per the routes defined and as per the needs of the rendering Views. Thus our business entities (Model), business logic (Controllers) and presentation logic (Views) lie in logical/physical layers independent of each other. ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 13. Existing ASP.NET Features • ASP.NET MVC framework is built on top of matured ASP.NET framework and thus provides developer to use many good features such as forms authentication, windows authentication, caching, session and profile state management etc. ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 14. Parallel Development • In ASP.NET MVC layers are loosely coupled with each other, so one developer can work on Controller ,at the same time other on View and third developer on Model. This is called parallel development. ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 15. Full Control Over <HTML></HTML> • ASP.NET MVC doesn’t support server controls, only option available is using html input controls, so we will be sure about final html rendered at the end. We will also be aware about 'id' of every element. And so integration of ASP.NET MVC application with third party JavaScript libraries like jQuery becomes easy. ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 16. Testing • Asp.Net webforms is dependent on HttpContext.Current, our pages as part of the HttpApplication executing the request Which makes • These are all easily mockable! • HttpContextBase, HttpResponseBase, HttpRequestBase [TestMethod] public void ShowPostsDisplayPostView() { BlogController controller = new BlogController(…); var result = controller.ShowPost(2) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual(result.ViewData["Message"], "Hello"); } ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 17. Testing • [TestMethod] • public void TestInvalidCredentials() • { • LoginController controller = new LoginController(); • var mock = new Mock<System.Web.Security.MembershipProvider>(); • mock.Expect(m => m.ValidateUser("", "")).Returns(false); • controller.MembershipProviderInstance = mock.Object; • var result = controller.Authenticate("", "") as ViewResult; • Assert.IsNotNull(result); • Assert.AreEqual(result.ViewName, "Index"); • Assert.AreEqual(controller.ViewData["ErrorMessage"], "Invalid credentials! Please verify your username and password."); • } ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 18. Clean URLS • ASP.NET MVC is so tightly integrated with the ASP.NET Routing engine, it is simple to take control over the URLs that your application exposes. Would you use: /Products.aspx?CategoryID={3F2504E0-4F89-11D3-9A0C-0305E82C3301} Or: /Products/Books SEO ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 19. Demo ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 20. What’s In Demo • Understanding the MVC Project Structure • Understanding and Modifying the Layout and Templeates • CRUD with project template • CRUD DIY with code • Basics of Routing • Basics of Web API ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 21. Routing & Web API ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 22. Routing • Routing maps request URL to a specific controller action using a Routing Table • Routing Engine uses routing rules that are defined in Global.asax file in order to parse the URL and find out the path of corresponding controller. ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 23. WEB API • Restful framework for Building HTTP Based services • What is Rest? “Rest is an architectural style that abstracts the architectural elements within a distributed hypermedia system” • https://api.twitter.com/1.1/statuses/retweets/2.json • Web API is not MVC ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 24. What In the World Is WCF Then? HUH!!!! ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 25. Use When? Web API • Only working with HTTP • Want RESTful endpoints • Don’t need multiple protocols • Don’t expose SOAP endpoints • Want Simple Configuration WCF • Needs to support multiple protocols • Need to expose SOAP endpoints • Need Complex Configuration • Need RPC Style Requests ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 26. Web Forms or MVC? ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 27. Web Forms or MVC? Web Froms • Winforms-alike event model • Familiar controls & Rich • Familiar = rapid application development • Functionality per page • Uses viewstate for state management • Less control over rendered HTML • Event Driven Programming • Oh wow! I can turn of or control View State Size. MVC • Less complex: separation of concerns • Easier parallel development • TDD support • No viewstate, … • Full control over behavior and HTML • Extensive Javascript • Makes you think ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 28. Web Forms or MVC? ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 29. Web Forms or MVC? • Mixing the Technologies can also do wonders for some solutions MVC Web Forms ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 30. Verdict? • Please decide on your own on the basis of previous slides. ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/
  • 31. Thank You ©Dev Raj Gautam, 2015, http://blogs.devgautam.com.np/

Editor's Notes

  • #17: In most cases, in order to get the page to execute correctly, you need to execute it in a real HttpContext. Since many of the properties of HttpContext are not settable (like Request and Response), it is extremely difficult to construct fake requests to send to your page objects. This makes unit testing webforms pages a nightmare, since it couples all your tests to needing all kinds of context setup.
  • #23: routes are configured on application start by calling a staticmethod "RegisterRoutes" in RouteConfig class. We can find RouteConfig.cs file under App_Start folder in ASP.NET MVC 5 application. 
  • #29: Rapid application development  go with asp.net Web Forms, Unit Testing - If automatic unit testing is most important factor for you MVC  Does your team have experience on ASP or non-Microsoft technologies such as android, ios, JSP, ROR, PHP? Is JavaScript going to be used extensively? Looking for good performance? Planning to reuse the same input logic?
  • #30: How to Use it? Add a reference to three core librares System.Web.Routing,System.Web.Abstractions, System.Web.MVC Add the controllers and view directories Update the Web.Config to load the three assemblies at runtime and registering the URLRewriting Module Registering the Routes in Global Asax Model.