Improving Performance with Specialized Controllers
Using Sessionless Controllers
Using Asynchronous Controllers
Summary
Chapter 20: Views
Creating a Custom View Engine
Preparing the Example Project
Creating a Custom IView
Creating an IViewEngine Implementation
Registering a Custom View Engine
Testing the View Engine
Working with the Razor Engine
Preparing the Example Project
Understanding Razor View Rendering
Configuring the View Search Locations
Adding Dynamic Content to a Razor View
Using Layout Sections
Using Partial Views
Using Child Actions
Summary
Chapter 21: Helper Methods
Preparing the Example Project
Setting the Start URL
Testing the Example Application
Creating Custom Helper Methods
Creating an Inline Helper Method
Creating an External Helper Method
Managing String Encoding in a Helper Method
Using the Built-In Form Helper Methods
Creating Form Elements
Specifying the Route Used by a Form
Using Input Helpers
Creating Select Elements
Summary
Chapter 22: Templated Helper Methods
Preparing the Example Project
Using Templated Helper Methods
Generating Label and Display Elements
Using Whole-Model Templated Helpers
Using Model Metadata
Using Metadata to Control Editing and Visibility
Using Metadata for Labels
Using Metadata for Data Values
Using Metadata to Select a Display Template
Applying Metadata to a Buddy Class
Working with Complex Type Properties
Customizing the Templated View Helper System
Creating a Custom Editor Template
Creating a Generic Template
Replacing the Built-in Templates
Summary
Chapter 23: URL and Ajax Helper Methods
Preparing the Example Project
Defining Additional CSS Styles
Installing the NuGet Packages
Creating Basic Links and URLs
Using MVC Unobtrusive Ajax
Creating the Synchronous Form View
Preparing the Project for Unobtrusive Ajax
Creating an Unobtrusive Ajax Form
Preparing the Controller
Creating the Ajax Form
Understanding How Unobtrusive Ajax Works
Setting Ajax Options
Ensuring Graceful Degradation
Providing the User with Feedback While Making an Ajax Request
Prompting the User Before Making a Request
Creating Ajax Links
Ensuring Graceful Degradation for Links
Working with Ajax Callbacks
Working with JSON
Adding JSON Support to the Controller
Processing JSON in the Browser
Preparing Data for Encoding
Detecting Ajax Requests in the Action Method
Summary
Chapter 24: Model Binding
Preparing the Example Project
Understanding Model Binding
Using the Default Model Binder
Binding to Simple Types
Binding to Complex Types
Binding to Arrays and Collections
Manually Invoking Model Binding
Dealing with Binding Errors
Customizing the Model Binding System
Creating a Custom Value Provider
Creating a Custom Model Binder
Registering the Custom Model Binder
Summary
Chapter 25: Model Validation
Preparing the Example Project
Creating the Layout
Creating the Views
Explicitly Validating a Model
Displaying Validation Errors to the User
Displaying Validation Messages
Displaying Property-Level Validation Messages
Using Alternative Validation Techniques
Performing Validation in the Model Binder
Specifying Validation Rules Using Metadata
Defining Self-Validating Models
Performing Client-Side Validation
Enabling Client-Side Validation
Using Client-Side Validation
Understanding How Client-Side Validation Works
Performing Remote Validation
Summary
Chapter 26: Bundles
Preparing the Example Application
Adding the NuGet Packages
Creating the Model and Controller
Creating the Layout and View
Profiling Script and Style Sheet Loading
Using Script and Style Bundles
Adding the NuGet Package
Defining the Bundles
Applying Bundles
Optimizing the JavaScript and CSS Files
Summary
Chapter 27: Web API and Single-page Applications
Understanding Single-page Applications
Preparing the Example Application
Creating the Model
Adding the NuGet Packages
Adding the Controller
Adding the Layout and Views
Setting the Start Location and Testing the Example Application
Using Web API
Creating the Web API Controller
Testing the API Controller
Understanding How the API Controller Works
Understanding API Controller Action Selection
Mapping HTTP Methods to Action Methods
Using Knockout for Single-page Applications
Adding the JavaScript Libraries to the Layout
Implementing the Summary
Implementing the Create Feature
Completing the Application
Simplify the Home Controller
Manage Content Visibility
Summary
Index
Nội dung
[...]... in MVC The ASP. NET MVC Framework implements the MVC pattern and, in doing so, provides greatly improved separation of concerns In fact, ASP. NET MVC implements a modern variant of the MVC pattern that is especially suitable for Web applications You will learn more about the theory and practice of this architecture in Chapter 3 By embracing and adapting the MVC pattern, the ASP. NET MVC Framework provides... The underlying ASP. NET platform provides a rich set of tools on which to build web applications with the MVC Framework Note I describe the most commonly used ASP. NET Platform features as they relate to MVC development in this book, but the platform is a topic in its own right For complete details of the rich features that the ASP. NET platform provides, see my forthcoming Pro ASP. NET MVC 5 Platform, which... Creating a New ASP. NET MVC Project I am going to start by creating a new MVC Framework project in Visual Studio Select New Project from the File menu to open the New Project dialog If you select the Web templates in the Visual C# section, you will see the ASP. NET Web Application project template Select this project type, as shown in Figure 2-1 29 Figure 2-1 The Visual Studio ASP. NET Web Application project... Rails and ASP. NET MVC Node.js is mentioned here only to put some of ASP. NET MVC s design into context against industry trends For example, ASP. NET MVC includes asynchronous controllers (which I describe in Chapter 19) This is a way to handle HTTP requests with non-blocking I/O and scale up to handle more requests per CPU Key Benefits of ASP. NET MVC In October 2007, Microsoft announced a new MVC Web development... Chapters 15 and 16 Built on the Best Parts of the ASP. NET Platform Microsoft’s existing ASP. NET platform provides a mature, well-proven set of components and facilities for developing effective and efficient Web applications First and most obviously, as ASP. NET MVC is based on the NET platform, you have the flexibility to write code in any NET language and access the same API features—not just in MVC itself... within the controller class 15, 16 ASP. NET version 4 .5. 1, on which the MVC Framework 5 is built, has been enhanced as well The most important change is the addition of the ASP. NET Identity API, which replaces the Membership system for managing user credentials I don’t cover ASP. NET Identity in this book, although I do explain how authentication and authorization are applied to MVC Framework applications... through the use of features like filters Note I will be covering ASP. NET Identity in my Pro ASP. NET MVC 5 Platform book, which will be published in 2014 and cover all of the facilities that the ASP. NET platform provides That said, I don’t want you to have to buy a second book to learn about something as important as user security, and so Apress has agreed to distribute the security-related chapters from... UI elements such as date pickers or cascading menus, ASP. NET MVC s “no special requirements” approach to markup makes it easy to use best-of-breed UI libraries such as jQuery UI or the Bootstrap CSS library ASP. NET MVC meshes so well with jQuery, for example, that Microsoft ships jQuery as a built-in part of the default Visual Studio ASP. NET MVC project template, along with other popular libraries,... examples In Chapter 4, I provide a summary of the most useful C# language features for MVC development, which you’ll find useful if you are moving to the latest 26 .NET versions from an earlier release What Is the Structure of This Book? This book is split into 2 parts, each of which covers a set of related topics Part 1: Introducing ASP. NET MVC 5 I start this book by putting the ASP. NET MVC Framework in context... of a project called SportsStore, through which I show you a realistic development process from inception to deployment, touching on the major features of the ASP. NET MVC Framework Part 2: ASP. NET MVC in Detail In Part 2, I explain the inner workings of the MVC Framework features that I used to build the SportsStore application I show you how each feature works, explain the role it plays in the MVC Framework . Parts of the ASP. NET Platform Modern API ASP. NET MVC Is Open Source What Do I Need to Know? What Is the Structure of This Book? Part 1: Introducing ASP. NET MVC 5 Part 2: ASP. NET MVC in Detail What’s.