Ext.NET Web Application Development

Ext.NET Web Application Development
eBook: $32.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $87.98    Print cover: $54.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Build rich internet applications using the power of Ext.NET controls
  • Learn how Ext.NET leverages Sencha’s popular Ext JS JavaScript framework to provide a full client-server web development experience
  • Full of examples and tips, with clear step-by-step instructions

Book Details

Language : English
Paperback : 410 pages [ 235mm x 191mm ]
Release Date : November 2012
ISBN : 1849693242
ISBN 13 : 9781849693240
Author(s) : Anup Shah
Topics and Technologies : All Books, Web Development, .NET

Table of Contents

Chapter 1: Getting Started with Ext.NET
Chapter 2: Ext.NET Controls Overview
Chapter 3: Layout with Ext.NET
Chapter 4: AJAX with Ext.NET
Chapter 5: Working with Data
Chapter 6: Introducing GridPanels
Chapter 7: Forms and Validation
Chapter 8: Trees and Tabs with Ext.NET
Chapter 9: Extending Ext.NET – Custom Controls and Plugins
Chapter 10: Troubleshooting and Debugging
  • Chapter 1: Getting Started with Ext.NET
    • An overview of Ext.NET
      • Ext.NET and its relationship with ASP.NET Web Forms and ASP.NET MVC
      • Ext JS
        • Comparing with other JavaScript libraries such as jQuery
        • From a web developer's point of view
      • Ext.NET from an ASP.NET application developer's point of view
      • Ext.NET and Ext JS versions
      • Prerequisites
      • When to use ExtJS/Ext.NET and when not to
    • Getting Ext.NET
      • Choosing the right Ext.NET license
      • Downloading Ext.NET
      • Compiling (if needed)
    • A walkthrough – creating a simple ASP.NET project with Ext.NET enabled
      • Creating the project and enabling Ext.NET
      • Running the sample Ext.NET page
      • What the sample page does
      • Ext.NET in the ASP.NET project
        • Ext.NET and Web.config
        • Ext.NET controls are registered in Web.config for you
    • A walkthrough – creating a simple ASP.NET MVC Project with Razor and Ext.NET enabled
      • Creating an MVC project and enabling Ext.NET
      • The sample Ext.NET page using MVC and Razor
    • Summary
    • Chapter 2: Ext.NET Controls Overview
      • Control overview
      • Buttons
        • A simple button
        • Button with icon
        • Button with menu
        • Split button
        • Other button options
      • Events in Ext.NET
        • Listeners – client-side events
          • Passing the component ID around on the client side
          • Setting custom values on components.
        • Direct Events – server-side handlers for client-side events
        • MessageBus – inter-component messaging
      • Container components
        • Container
        • Toolbars and menus
          • Toolbars with various buttons
          • Overflowing toolbars
          • Nested menus
          • Menus and form fields
          • Dynamically inserting menus and buttons
        • Panels
        • Windows
        • Tooltips
      • Complex components
        • Desktop
        • Charts
        • Calendars
      • Even more!
      • Summary
      • Chapter 3: Layout with Ext.NET
        • Viewport
        • Border layout
          • Different ways to create the same components
            • Border layout from code
            • Mixing markup and code
            • Loading layout items via User Controls
          • The containing component does not have to be a Viewport
          • More than one item with the same region
          • Regions are not limited to Panels only
          • Weighted regions
        • Accordion layout
          • Panel subclasses as Accordion items
          • Layout combinations
        • Fit Layout
        • HBox layout
        • VBox layout
          • Reordering Panels
          • Centering a component
        • Many other layouts
        • Further resources and examples
        • Summary
        • Chapter 4: AJAX with Ext.NET
          • AJAX with ASP.NET
            • UpdatePanel
            • Page methods
            • Other approaches in .NET
            • How this relates to Ext.NET
          • DirectEvents
            • DirectEvents on Ext.NET Controls
              • Passing additional parameters to the event
              • Sending custom data back to the client
              • Event masks
              • The App client-side namespace
              • Event confirmation
            • DirectEvents on ASP.NET Controls
            • DirectEvents on HTML Elements
            • DirectEvents dynamically generating new Ext.NET Components
            • DirectEvents invoking web services
            • DirectEvents invoking web services with parameters
            • DirectEvents invoking web services that return new Ext.NET components
            • DirectEvents invoking generic ASHX handlers
            • DirectEvents invoking ASP.NET MVC Controllers
            • Best server option? ASMX, ASHX, MVC, ASPX, WCF?
          • DirectMethods
            • Basic DirectMethod
            • Running JavaScript after the DirectMethod is invoked
            • Static DirectMethods for best performance
            • Returning custom types
            • Handling exceptions
            • Global AJAX operation handlers
            • By-passing the DirectMethod proxy
            • DirectMethods calling an ASP.NET MVC Controller
            • DirectMethods calling web services
              • JSON Serialization considerations with ASMX Web Services
            • DirectMethods calling generic ASHX handlers
            • DirectMethods on user controls
            • DirectMethods on ASP.NET MVC Controllers
            • Turning off the ID mode for DirectMethods
            • Controlling the rendering of dynamically generated controls
          • AJAX options specific to certain controls
            • Loading content with Panels
            • Component loader
          • Ultimate performance option: avoid AJAX!
          • Summary
          • Chapter 5: Working with Data
            • XTemplates
              • Basic XTemplates
              • Basic XTemplates with repeated data
              • More XTemplate rendering options
            • Stores
              • Models
              • Proxies
              • Separation of concerns and loose coupling
            • DataView
              • Our first attempt
                • Preparing the data
                • The Store and Model in action
                • DataView to display the formatted data
                • Paging
                • Putting it altogether
              • Second attempt
                • Generic ASHX handler for AJAX paging
                • Using an AjaxProxy
                • Filtering and sorting
                • Handling selections in DataViews
                • Example using a PageProxy
                • Example using an ASP.NET data source control
              • More about DataViews
            • ComboBox
              • Define Store and Model with a ComboBox
              • Formatting the ComboBox with an XTemplate
              • Enabling store paging on a ComboBox
              • Using a server-side Proxy for the Store
            • Summary
            • Chapter 6: Introducing GridPanels
              • GridPanel – overview
              • Simple grid
              • Column types
              • AJAX-based proxies
              • Paging
                • Client-side paging
                • Server-side paging
              • Filtering
                • Client-side filtering
                • Server-side filtering
              • Sorting
                • Client-side sorting
                • Server-side sorting
              • Grouping
              • Column summaries
                • Column summaries per group
              • Row expanding
                • Row expanding using templates
                • Row expanding using Ext.NET components
              • Selection models
                • Default row selection
                • Checkbox selection
                • Cell selection
              • Grid editing
                • Configuring columns to be editable
                • Cell editing
                  • Committing changes
                  • Automatically updating as you edit
                  • Explicitly saving changes by letting the user click on a Save button
                  • Paging while rows have been edited
                • Row editing
                • Other editing options
              • Many more GridPanel capabilities not covered here
              • Summary
              • Chapter 7: Forms and Validation
                • Form fields – overview
                  • TextField
                    • Controlling field labels
                    • Field icon
                    • Default empty text
                    • Field notes
                    • Field indicator
                    • Custom icons
                    • Initial value
                  • NumberField
                  • TextArea
                  • HtmlEditor
                  • ComboBox
                  • TimeField
                  • DateField
                  • TriggerField
                  • DropDownField
                  • Checkbox
                  • Radio buttons
                  • FileUploadField
                  • Many more form fields
                • Form layout
                  • Checkbox and Radio button grouping
                  • Fieldsets
                  • FormPanel
                  • FieldDefaults
                  • FieldContainer
                • Form validation
                  • Constraining and guiding input
                  • Customizing the appearance of validation messages
                    • Validation messages using FieldContainers
                  • Validation types
                    • Custom validation VTypes
                    • Remote validation
                  • Validation events
                • Manually submitting a form
                • Binding Stores and Records to a form
                • Summary
                • Chapter 8: Trees and Tabs with Ext.NET
                  • TreePanel
                    • TreePanel – overview
                    • Asynchronous tree node loading
                      • NodeID for asynchronous node requests
                      • Using TreeStore to create nodes on the server
                      • Expanding tree nodes
                    • Data binding with TreeStore and ColumnModel
                      • Custom node attributes and explicit TreeStore Models
                      • Multiple fields and tree grids
                    • What else can you do with TreePanels?
                  • TabPanel
                    • TabPanel – overview
                    • Asynchronous tab loading
                    • Useful tab features
                      • Tabs rendered at the bottom
                      • Plain tabs
                      • TabScrollerMenu plugin
                      • Tab menus
                      • Using TabBar to add custom toolbar items
                      • More TabPanel examples
                  • Summary
                  • Chapter 9: Extending Ext.NET – Custom Controls and Plugins
                    • Basic control builder
                      • Example
                      • Benefits of this approach
                      • Drawbacks to this approach
                    • Extending Ext.NET controls
                      • Extending the Ext.NET class
                      • Extending the Ext JS class
                      • Embedding the resources
                        • Declaring your embedded web resources
                        • Adding your embedded resources to your Ext.NET component
                      • Custom events
                        • Defining the event in the JavaScript class
                        • Defining the client-side event on the server side
                        • Creating a custom DirectEvent
                      • Passing properties to your JavaScript class
                      • Using the custom component on an ASP.NET Web Form
                      • Using your custom component in ASP.NET MVC (Razor)
                        • A basic control renderer
                        • Reusing Ext.NET's builder pattern for a richer custom MVC framework for your own application
                      • Recap of steps to create a custom component
                        • Scenario 1 – simple subclass, no custom events, no custom JavaScript or CSS
                        • Scenario 2 – simple subclass, no custom events, but with custom JavaScript or CSS
                        • Scenario 3 – subclass with custom Listeners and/or DirectEvents, and custom JavaScript/CSS
                      • Component design considerations
                        • Building more complex controls through composition
                        • GenericComponent<T> – a quick alternative to wrap Ext JS ready Components
                        • Declaring DirectMethods on custom components
                        • Supporting ASP.NET Web Forms IPostBackDataHandler
                      • Benefits of extending Ext.NET controls
                      • Drawbacks of this approach
                    • Using plugins
                      • Benefits of this approach
                      • Drawbacks of this approach
                    • Plugins versus extending components
                    • Summary
                    • Chapter 10: Troubleshooting and Debugging
                      • Debugging and troubleshooting Ext.NET applications
                        • Enabling debug mode scripts
                        • Controlling Source Formatting
                      • Browser developer tools
                        • Cross-browser considerations
                          • HTML doc types
                          • Setting IE rendering mode
                          • IE developer tools and taking advantage of rendering modes
                          • IE10 support
                          • IE 6 support
                        • Browser console
                        • Illuminations for Developers
                        • JavaScript debuggers
                        • Debugging requests
                      • Getting support from Ext.NET
                        • The overall principle–reproduce the problem in small, standalone code
                        • Use a test project independent of your production code
                        • Examples of what to cut from your sample
                        • If you cannot reproduce the problem
                        • Effort should pay off in other ways
                      • Summary

                      Anup Shah

                      Anup Shah has been a professional software and web developer since 1997. After graduating from Manchester University with a First Class Honors degree in Computing and Information Systems, he got a job in the United States. There, he soon headed the web development for a rapidly growing dot com, experiencing both the highs and lows of the first dot com bubble. After a number of years there he moved back to England where he grew up and joined a small dynamic software company working as a consultant, architect, and web developer for some high profile retail e-commerce websites, including some of the world's largest. Around 2007, while at the same company, he changed focus from a consulting role to a product development role, responsible for the user interface of a complex retail web application product. It was at this time he came across Ext.NET (or Coolite as it was known back then) and rapidly adopted it and introduced it into the company's product. Anup can be found on the Ext.NET forums, and contacted via his blog, http://www.onenaught.com.
                      Sorry, we don't have any reviews for this title yet.

                      Code Downloads

                      Download the code and support files for this book.

                      Submit Errata

                      Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


                      - 1 submitted: last submission 09 Jan 2014

                      Errata type: Code related

                      Page No: 213

                      It is: <ext:Store runat="server" RemotePaging="false" PageSize="10">

                      It should be: <ext:Store ID="Store1" runat="server" RemotePaging="false" PageSize="10">

                      Sample chapters

                      You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                      Frequently bought together

                      Ext.NET Web Application Development +    Mastering JavaServer Faces 2.2 =
                      50% Off
                      the second eBook
                      Price for both: $47.10

                      Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                      What you will learn from this book

                      • Understand how Ext.NET and Ext JS fit together to help create applications with seamless server side integration
                      • Learn how to organize controls and layouts to create highly interactive UIs with the richness of desktop-like applications
                      • Understand the different AJAX options available to interact with the server and choose the techniques that suit your needs
                      • Know the various options to represent and model data, locally or remotely, and reuse them where needed
                      • Learn how to build sophisticated grids, trees, and other AJAX-based components that interact with the server efficiently
                      • Gain confidence in extending components and creating plugins for reusability and maintainability
                      • Create user-friendly forms with rich and custom client and server side validation
                      • Learn how to troubleshoot your applications

                      In Detail

                      To build a rich internet application, you need to integrate a powerful client side JavaScript framework with a server side framework. Ext.NET achieves this by integrating Sencha’s Ext JS framework with the power of ASP.NET. The result – a sophisticated framework offering a vast array of controls, layout, and powerful AJAX and server bindings, which can be used to build rich, highly usable web applications.

                      "Ext.NET Web Application Development" shows you how to build rich applications using Ext.NET. Examples guide you through Ext.NET’s various components using both ASP.NET Web Forms and MVC examples. You will also see how Ext.NET handles data binding and server integration. You will also learn how to create reusable components and put them together in great looking applications.

                      This book guides you through the various Ext.NET components and capabilities to enable you to create highly usable Ext.NET components and web applications.

                      You will learn about various UI components and numerous layout options through examples. You will see how the AJAX architecture enables you to create powerful data-oriented applications easily. This book will also teach you how to create reusable custom components to suit your needs.

                      "Ext.NET Web Application Development" shows you how to create rich and usable applications using Ext.NET through numerous examples.


                      This is a step-by-step tutorial packed with examples and tips to learn Ext.NET from scratch.

                      Who this book is for

                      This book is written for .NET Web Application Developers who are familiar with ASP.NET looking to build .NET based Rich Internet Applications. Whether you are new to Ext JS or you are looking to use your existing Ext JS skills in a .NET environment, this book will be useful for you.

                      Code Download and Errata
                      Packt Anytime, Anywhere
                      Register Books
                      Print Upgrades
                      eBook Downloads
                      Video Support
                      Contact Us
                      Awards Voting Nominations Previous Winners
                      Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                      Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software