Welcome to week – 1.1 of… Web Development Using ASP .NET CA – 240 Kashif Jalal Chapter – ONE: Objectives Static and Dynamic Web Applications • Static Web pages – Created with HTML controls • Dynamic Web pages – Allow user to interact with the Web page – Changes appearance or content – Created with Microsoft’s Active Server Pages .NET (ASP.NET) • Used to build server-side Web applications Processing a Request for a Web Page ASP .NET • Main ASP.NET applications – Web Forms • Used to process forms and develop cross- browser applications • Uses .aspx file extension – Web Services • Other applications can interact with your program • Uses .asmx file extension Web Forms • ASP.NET pages within an ASP.NET application – Identified with file extension .aspx • 2 logical areas: – HTML template • Contains design layout, content, and controls – Collection of code commonly located behind Web Form HTML Server Controls • Similar to HTML controls except processed by server • Write runat=“server” to transform HTML control into HTML Server control • Controls have closing tag, or end with /> • HTML control: – <input type=“text”> • HTML Server control: – <input type=“radio” runat=“server” value=“Yes”/> Yes ASP .NET Server Controls • Creates HTML code • ASP.NET controls usually identified with prefix asp: followed by name of the control • Types of ASP.NET Server Controls – ASP.NET Form Controls (Web controls) – Data Validation Controls – User Controls – Mobile Controls Browser Source Code • Look at the browser’s source code for each ASP.NET page to understand what the Web server is sending to the browser – ASP.NET code is never sent to the browser – Only HTML tags, along with client-side scripts, are sent to the browser • Many errors are related to the syntax of the HTML that is sent to the browser, such as a missing closing tag, or a missing quotation mark • You can quickly locate HTML syntax errors Server Controls within Visual Studio .NET Code Behind the Page • Written in an ASP.NET-compatible language • File extension is .vb if code is written in Visual Basic .NET • Compiled code behind the page is the class definition for the page • When you build the application, you compile the code into an executable file stored in the bin directory Code Behind the Page Postback • Posting back data into form • The _ViewState hidden form field – Very long encoded string – Contains information required to maintain form data across multiple page requests – Value changes each time form is reposted • EnableViewState property – Turns postback feature on or off. To turn off: – <%@ Page EnableViewState="false" %> Page Class Events • The first time a page is requested by a client, a series of page events occurs – Page_Init – initializes page control hierarchy – Page_Load – loads any server controls into memory and occurs every time page is executed – Server control events – action and change events occur when page is posted back to the server – Page_PreRender – occurs immediately before control hierarchy is rendered and sent to the browser – Page_Unload –removes page from server’s memory Page Class Event Cycle Locating Your ASP.NET Application • Web Server is called Internet Information Server – C:/Inetpub/wwwroot maps to http://localhost/ • Develop on local Web server or test server • Deploy Web application to production Web server on the Internet • You can transfer Web application files using File Transfer Programs (FTP) Web Services • Exposes part of a program over the Internet • Web Service file has .asmx file extension • Uses open standards so it’s supported across applications and platforms • Used to create business-to-business applications • Can share data with other partners Tara Store Web Services The .NET Framework • An architectural model for creating programs that interface with the operating system and base class libraries • Contains a hierarchical set of Base Class Libraries • Base class libraries are code libraries that provide general functions Namespaces • Organizes base class libraries • Top namespace is System • All Web Forms inherit the System.Web.UI namespace • System.Web.UI contains classes for controls used on Web Forms – HTML Server controls – ASP.NET Server controls (Web controls) HTML Server Controls ASP .NET Server Controls Common Language Runtime • Each .NET language compiles into a common intermediate language and common type system (CTS) • Assembly contains compiled .NET program • The compiled .NET program contains the intermediate language and metadata • Metadata describes the assembly contents Building the application “Some” Definitions… • Namespace: A namespace refers to a logical grouping of types or identifiers used in a program. • Event Handler: An event handler is a method that is executed in response to an event. • Array: An array is a collection of homogenous objects. It is a group of elements of the same type that share a common name. The size of an array is fixed and cannot be changed at runtime. • ArrayList: An ArrayList is a collection of heterogeneous elements- elements of different types. Unlike an array, its size can be changed dynamically • HashTable: A HashTable is a collection of heterogeneous objects that can be referred using either an index or a key. Elements of an ArrayList can be referred to using an index only • Web Services: A web service is SOAP based, platform– independent software component that exposes itself through open communication channels of the web applications running on potentially different platforms. • Application State: This is a state management technique that allows objects to be stored and then globally accessed or shared by multiple modules of the application. In ASP.NET, application state is maintained by the class HttpApplicationState. “Some” Definitions… • Session State: A session is the period of a connection between a server and a client. The Session State allows storage of objects in a user’s session. A session can be stored in one of the following ways. – InProc – State Server – SQL Server • VIEWSTATE: This is a client-side state management technique that continues the state of server controls by maintaining the state of pages across postbacks. The view state is an encoded hashed string and is stored in a hidden field called __VIEWSTATE. • Assembly: An assembly is a group of resources and types, along with the metadata about those resources and types, deployed as a single unit. • Just In Time Compiler: The Just In Time Compiler or the JIT is responsible for compiling units of code and caching them at runtime as and when they are needed. Since the compilation occurs at runtime, it is known as a Just In Time Compilation. • .NET Framework Class Library: The .NET Framework Class Library (FCL) is a set of managed classes that are responsible for providing access to the system services in the managed environment of Microsoft.NET • The Common Type System: (CTS) is a standard that defines the necessary rules for type interoperability for the languages targeting the .NET environment. The common type system supports the following types. – Value Types – Reference Types Summary • ASP.NET pages can contain programs written in a variety of programming languages. • Web Forms end in .aspx. Web Services end in .asmx. User controls end in .ascx. • The term “ASP.NET pages” and “Web Forms” are synonymous. • The entire ASP.NET Web page is a class called the Page class. • The .NET framework is the architectural framework in which ASP.NET applications are created. Summary (continued) • Web Services allow you to expose a program interface publicly to other businesses and applications. • At compile time, all languages must support the same common .NET data types. • Page class renders HTML and Server code to the browser. • The Page class contains the code behind the page, which is located in a separate file. • You need a Web server to post your pages and a platform that supports the .NET Framework. • There are a variety of help resources within Visual Studio .NET and on the Internet.