980 likes | 1.1k Views
Web/Database Connectivity with ASP.NET. David Henson. dhenson@certifiednetworks.com. Class Logistics. • Class Hours • Classroom Setup • Class Format. • https://www.certifiednetworks.com. Course Outline. Module 1 - Web Overview Module 2 - ASP.NET Overview Module 3 - ASP.NET Webform
E N D
Web/Database Connectivity with ASP.NET David Henson dhenson@certifiednetworks.com
Class Logistics • Class Hours • Classroom Setup • Class Format • https://www.certifiednetworks.com
Course Outline Module 1 - Web Overview Module 2 - ASP.NET Overview Module 3 - ASP.NET Webform Module 4 – Debugging/Tracing Module 5 - .NET Controls Module 6 – ADO.NET
Course Outline, Contd. Module 7 – Advanced Data Topics Module 8 - Security Module 9 – ASP.NET Email/File Integration Module 10 - XML
Definitions • ASP • ASP.NET • HTTP • IIS • Virtual Directory • Browser
HTTP Protocol • Header • Body
Lab 1A – Viewing HTTP Traffic • Things to look for: – Header – Body – Server Response Code
Methods For Dynamic Server- Based Content • CGI – Opens separate executable • ASP – Interpreted each page load, Windows Only • JSP – Portable, fast familiar to Java Programmers • PHP – Cross Platform, C & Perl Like • ASP.NET – Compiled, integrated into framework
HTML Protocol • End result of any dynamic server side product- dictates rendering of page • Tags: <html> <body> <table><tr><td> <form> <a href=“…”> <br> <input type=“…”>
Lab 01B – Creating an E- Commerce Website Framework
.NET Framework Web Services User Interface ADO.NET: Data & XML Base Class Library Common Language Runtime
What is ASP.NET • Not a programming language but a delivery mechanism • Can leverage any .NET programming language, like built-in VB.NET, C#, and third party like Delphi
.NET Features • Multiple Language Support • Increased Performance – Compiled code – Cache • Server Controls • Web Services • Improved Security • Greater Scalability • Cookie-less Sessions • Easy Configuration and Deployment
Classic ASP Programming Model • Procedural, Top to Bottom Approach • HTML/ASP Code Mixed
Classic Windows Programming Model • Create a Form • Drop Controls On Form • Write Event Handlers • User activity generates messages which are handled by the event handlers
Demonstration – Spy++ • What to look for: – Event Driven Model of Windows
ASP.NET Programming Model • Process Same as Windows Programming • Connectivity/State is emulated
ASP.NET Configuration Files • Web.con • <%@page ... %> tag
Demonstration – Visual Studio .NET Quick Tour
Webforms Defined • aspx extension • @Page Directive <%@ Page Language="vb" %> • Framework Is an Object Model • Denoted by the runat="server" Attribute <Form runat="server"> </Form> • Contain Client-side and Server-side Code • Contain HTML and Server Controls
Events • User requests dbdemo.aspx • Page_Load event detected • Sub Page_Load() executed • All event handlers are called in a single flow of motion, before the user ever gets to see the page.
WebForm Main Events • Events Occur Each Time the Page is Accessed • Page_Init • Page_Load • Controls(only when form is posted back…Button1_Click for example) • Page_Unload
Other Supported Webform Events • Error – whenever the page generates one • CommitTransaction • AbortTransaction
Defining Server Control Event Handlers <asp:button id=“Button1” onclick=“MyHandler”/>
Webform Validation • Page.IsValid will be false if any control has failed validation • Asp:ValidationSummary Control • Set Display property of any validation control to None • ValidationSummary Control will display msg from all controls • Client Side Validation Setting: Set BaseValidator.EnableClientSideScript for any contol
Manual Validation • Add form submit button with CausesValidation set to False, then call Page.Validate yourself. • Take action based upon page.IsValid property
Module 4 – Debugging/Tracing • Debugging • Tracing • Error/Exception Handling
To Compile in Debug Mode • 1. Add a "Debug=true" directive at the top of the file that generated the error. Example: <%@ Page Language="C#" Debug="true" %> or: 2) Add the following section to the configuration file of your application: <configuration> <system.web> <compilation debug="true"/> </system.web> </configuration>
Using the Debugger • Setting Breakpoints • Debug shortcut keys:
Logging Exceptions Try …some code Catch err AS Exception Dim log as New EventLog() Log.Source = “MyPage” Log.WriteEntry(err.Message, EventLogEntryType.Error) End Try
Display of Errors • Error Modes: – RemoteOnly – Default, hides details if not local client – Off – Shows all details and source…good for development, not production – On – Displays custom error page if any, or generic error message
Custom Error Pages <configuration> <system.web> <customerErrors defaultRedirect=“MyError.aspx”> <error statusCode=“404” redirect=“My404.aspx”> </customErrors> </system.web> </configuration> Only works if ASP.NET is handling the request(.aspx extension)
Lab 04A – Debugging/Tracing • Enabling Tracing • Exception Handling • Debugging • Writing to the Windows Eventlog • Custom Error Messages
The ASP.NET Server Controls • HTML Server Controls • ASP.NET Web Form Controls • ASP.NET List Controls • ASP.NET Templated Controls • ASP.NET Rich Controls • ASP.NET Validation Controls • ASP.NET Mobile Controls
Key Concept - Rendering • Controls are responsible for rendering themselves • You can override the Render() function on your own controls
HTML Controls • Best for “Converting” from ASP to ASP.NET • Add the runat=“server” attribute to existing controls
ASP.NET Controls • Mirror HTML Controls • More Consistent Properties/Naming Across Control Types
Common ASP.NET Webform Control Properties • ID • Text