PUBLISHED BY
Microsoft Press
A Division of Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 2010 by Dino Esposito
All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means
without the written permission of the publisher.
Library of Congress Control Number: 2010925900
Printed and bound in the United States of America.
1 2 3 4 5 6 7 8 9 WCT 5 4 3 2 1 0
Distributed in Canada by H.B. Fenn and Company Ltd.
A CIP catalogue record for this book is available from the British Library.
Microsoft Press books are available through booksellers and distributors worldwide. For further information about
international editions, contact your local Microsoft Corporation office or contact Microsoft Press International directly at
fax (425) 936-7329. Visit our Web site at www.microsoft.com/mspress. Send comments to mspinput@microsoft.com.
Microsoft, Microsoft Press, ActiveX, Excel, IntelliSense, Internet Explorer, MS, MSDN, SharePoint, Silverlight, SQL
Server, Visual Basic, Visual C#, Visual Studio, Win32, Windows, Windows Server, and Windows Vista. Other product
and company names mentioned herein may be the trademarks of their respective owners.
The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted
herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo,
person, place, or event is intended or should be inferred.
This book expresses the author’s views and opinions. The information contained in this book is provided without any
express, statutory, or implied warranties. Neither the authors, Microsoft Corporation, nor its resellers, or distributors will
be held liable for any damages caused or alleged to be caused either directly or indirectly by this book.
Acquisitions Editor: Ben Ryan
Developmental Editor: Lynn Finnel
Project Editors: Lynn Finnel and Carol Vu
Editorial Production: Ashley Schneider, S4Carlisle Publishing Services
Technical Reviewer: Kenn Scribner; Technical Review services provided by Content Master, a member
of CM Group, Ltd
Cover: Tom Draper Design
Body Part No. X16-88503
To Silvia, Francesco, and Michela, who wait for me and keep me busy.
But I’m happy only when I’m busy.
—Dino
v
Contents at a Glance
Part I The Programming Paradigm
1 Goals of ASP.NET MVC and Motivation
for Its Development ......................................3
2 The Runtime Environment................................37
3 The MVC Pattern and Beyond.............................81
Part II The Core of ASP.NET MVC
4 Inside Controllers ......................................123
5 Inside Views ...........................................211
6 Inside Models .........................................277
Part III Programming Features
7 Data Entry in ASP.NET MVC..............................317
8 The ASP.NET MVC Infrastructure .........................355
9 AJAX Capabilities .......................................401
10 Testability and Unit Testing .............................. 435
11 Customizing ASP.NET MVC ..............................477