ASP.NET MVC Fundamentals

Everything you will need to know in order to build web applications with the ASP.NET MVC framework.
Course info
Rating
(1214)
Level
Intermediate
Updated
Apr 11, 2009
Duration
4h 43m
Table of contents
Introduction to ASP.NET MVC
ASP.NET MVC Controllers
ASP.NET MVC Views
ASP.NET MVC Models
Description
Course info
Rating
(1214)
Level
Intermediate
Updated
Apr 11, 2009
Duration
4h 43m
Description

ASP.NET MVC is a supplemental framework built on top of ASP.NET that supports the construction of Model View Controller based applications as an alternative to the post-back model of traditional ASP.NET applications. Building Web applications using MVC enables a clear separation of concerns between presentation and control logic, creates a test-friendly application that supports test-driven development (TDD), allows for finer-grained control over rendered HTML and JavaScript, and simplifies control over the URL space of an application. This course will dive into the MVC pattern and the ASP.NET framework architecture to give you the knowledge you need to develop web applications using ASP.NET and the ASP.NET MVC framework.

About the author
About the author

Scott has over 15 years of experience in commercial software development and is a frequent speaker at national conferences, and local user groups. Scott is a Microsoft MVP and has authored books on several Microsoft technologies, including ASP.NET, C#, and Windows Workflow.

More from the author
More courses by Scott Allen
Section Introduction Transcripts
Section Introduction Transcripts

Introduction to ASP.NET MVC
Scott Allen: Hi. This is Scott Allen with Pluralsight, and this module is an introduction to the ASP. NET MVC framework. This is the first in a series of modules that will give you complete coverage of the MVC framework and show you everything that you need to build an application using this tool. In this first module, we're first going to look at motivation and goals for the MVC framework. Why did Microsoft build it? What are some of the reasons that we would want to use this to build an application? We'll also dive into the featured designed pattern of this framework, which is the MVC design pattern, the Model View Controller design pattern. We'll talk about routing, which is a new component that takes an HTTP request and routes it or directs it to the proper component for processing, and we'll see how that works in MVC, and also compare and contrast a little bit how request processing happens in the MVC framework versus how it traditionally happens in the ASP. NET Web Forms environment. We'll also be looking at controllers and their actions. Controllers are the components that you will write that will have the first chance at processing the request and putting all the information together to ultimately render a view to the user, and we'll talk about views in the views help -- ViewHelpers in this module too.

ASP.NET MVC Controllers
Hi this is Scott Allen of Pluralsight. And in this module, we're going to take a look at Controllers in an ASP. NET MVC Framework Application. Specifically, we're going to see how the architecture works with controllers and how the runtime selects and processes controllers. We'll see things like the controller factories which instantiate controllers. And we'll also see the extensibility points there, how and why we could inject our own controller factory to do this work for us. We'll take a close look at actions which are the methods on a controller that can be invoked by the runtime. We'll see how to influence the selection of an action using attributes. And we'll also cover action filters which are attributes that can inject custom pre-imposed processing logic before and after an action executes. Finally, we'll be taking a look at action results which are objects that encapsulate the-- what should happen next after an action executes. Should we render a view? Should we return Json? Should we redirect the user?

ASP.NET MVC Views
Hi, this is Scott Allen of Pluralsight, and in this module, we're going to be looking at the views in an ASP. NET MVC application. Specifically, we're going to be talking about some of the conventions that the MVC framework uses to locate and render views. And we'll be building a master page so that we can have a consistent layout and structure for all of the views in our application. We'll be looking at some of the HTML helpers that the framework provides, and we'll even build a custom HTML helper. Now, HTML helpers are great, because they are one way to encapsulate and reuse functionality and logic across views inside of an application. Another way that you can get reusability is through the use of partial views, so we'll also take a look at partial views. And in the end, if you decide that you do not like the web forms view engine, which is still using the ASPX and ASCX files that you might be familiar with if you've -- if you've previously worked with ASP. NET web forms, then there is the possibility of plugging in an alternate view engine. So, the architecture of the MVC framework's extendable, and there are other alternatives to the web forms view engine out there already. And we'll round things up with a discussion of security and how to prevent cross-site scripting attacks and cross-site request forgeries, or CSRF attacks.

ASP.NET MVC Models
Hi, this is Scott Allen with Pluralsite, and in this module we're going to talk about building models in an ASP. NET MVC Framework application. Specifically we're first going to talk about what is a model, because model is one of those words that's overloaded and can mean different things depending on the context of the conversation that you're in. So we'll spend a little bit of time talking about the domain models vs view models, and how do you select the right model that you want to use for your MVC application. We'll also look at model binding which is the process of taking information that's in an HTTP Request and binding it to my model object, putting those values in for me so I don't have to write the dirty code that digs into Request. Form data. Model binding is also an extensibility point in the MVC Framework in that you can provide your own custom model binders if you don't want to use the default logic that the MVC Framework provides. We'll touch briefly on how to manage state between different requests. And we'll finish with an end-to-end walkthrough of building a model with the ADO. NET Entity Framework. And we'll do that and we'll implement controller actions that can create, edit, update, and delete using the Entity Framework.