Special Topics in Computer Science - ASP.NET
Fall 2010

Subject to Change: This page was last edited on: 12/16/2010

Tuesday Thursday
Aug 30th

Official EUP Calendar

Some common links:
My web page
Math/CS Home
Edinboro Univ.

  • Go over the Syllabus
  • Introductory Notes - what is ASP.NET
  • Chapter 1 - Getting Started
    • The IDE
    • 3 different views
    • Naming
    • Running
    • Events
    • Code
    • Properties
  • Let's make a sample program

Assignments for next Class:

  • Reach Chapter 1 and up to page 36
  • Do all of the walk-through projects in these 2 chapters up to page 36
  • Be able to log in to the cs domain in Dundee Lab


  • Meet in the lab next class


We'll work on the AdventuresWorks Database

  • Logging and writing an ASP.NET program in the lab
  • Web site interactive - AdventureWorks
  • Chapter 2 - Building Web Applications
    • Fundamentals
      • The Page
      • Controls
      • Code-Behind Files
      • Events & Postbacks
      • Synchronous and Asynchronous Postbacks
        • The Page Load event and synchronous postback
        • Adding asynchronous postbacks
    • Using Controls
      • Organizing the Properties Window
        • Finding properties with IntelliSense
      • Basic Controls
      • Creating Tables
      • Setting Properties
      • Selection Controls
      • Panels
      • List Selection Controls
        • Adding items with the Item editor
        • Adding items in Source view
      • More Selection Controls
      • Using Selections Controls to display text
      • Images
      • Links
      • Link Buttons
    • Source Code
    • Summary

Assignments for next Class:

  • Finish the AdventureWorks web site
  • Make sure it's live on the internet outside of the EUP & CS domains
  • Read Chapter 3 Snappier Web Sites with AJAX
  • Exercise 2-4 Page 67


Sept. 6th

  • Finish Chapter 2 discussion
  • Chapter 3 - Ajax
    • most will now integrate AJAX controls
    • AJAX - Asynchronous JavaScript and XML
    • With ASP.NET you can use drag and drop, do not need to learn DHTML or JavaScript
  • Modify the AdventureWorks site - rename to ..revisited
  • Make a browser history application

Assignments for next Tuesday:

  • The Chapter 3 exercise that adds AJAX features to Chapter 2's exercise, the AdventureWorks example.
  • Exercise 3-2 - the web site mentioned in the assignment has moved, it's now;  You're going to need to download, extract, and add these new tools to your Toolbox in Visual Studio.  Instructions are on the site.
  • Or as an alternate that does not require the Ajax Extender do exercise 3-4.
  • Read Chapter 4 - Saving and Retrieving Data
  • Where to interactively work on your .NET projects
  • Saving Browser History project
  • Script Manager
    • Must have for AJAX to work
    • Manages all ASP.NET Ajax resources on the page
    • Partial Page Rendering
      • Script Manager's EnablePartialRendering property must be set to true
      • Must have at least one UpdatePanel
      • SupportsPartialRendering property must be set to true.
  • Extending Controls with the Control Toolkit
  • Book Example - TextBoxWaterMarkExtender
  • to map your computer to the L: drive



Sept 13th

Dr. Means (dentist in town) looking for someone to do his website.

"I am looking for someone (faculty or student) who can help us finish up our Website,  www.  We have done much of it ourselves in house but with some limitations.  I would appreciate your help. 

Thanks,  Gary Means"




Note from Jason on 9/10/2020:

"Iíve added the Ajax files to all of the machines in Dundee.  From what I see, each individual user must add the Ajax Control Toolkit to their Visual Studio Toolbox.  Basically, each student will have to complete step #3 from this page ( to use the controls.  They have been installed on each machine at c:\ajax. 

They may have to add the ajax control every time they want to use them; student profile changes are not saved."


Start Chapter 4 - Saving and Retrieving Data

  • Persistent data -  survives a session

  • Need to Create, Read, Update, and Delete

  • Binding

  • Download the AdventureWorks database from Microsoft

  • We're going to need to connect to the SQLServerExpress, Jason is putting on the AdventureWorks database file.

  • Use SQLDataSource object from the Data tool group - Changing Properties

  • Grid View - Changing Properties

  • CType method - like casting in C; takes 2 parameters, converts 1st to the 2nd type.


Assignments for next Tuesday:

Exercise 4-4

  • No new information \ Lecture
  • Continue working on our database project - Connecting to and modifying the contents of the AdventureWorks database.
  • Let's see if we can connect to the AdventureWorks database on the SQL Server on the dunlab server.  I'm hoping we can make it live.  We'll probably need to make a new database for each student.
  • CType Method - Convert types, use this to make a instance of an object from another control's collection.  Page 139 for more detail and example.  Looks very useful.
Connection String
  • This is in your web.config file
  • You need to add the User Id & Password and I think make Integrated Security=False
  • This will connect you to the AdventureWorks database that is on the server that we all share and it will make it live on the internet.
  • Edit your web.config file; found under solution explorer (view -> solution explorer); double click.

Here's what I have in the one we did in class.


<add name="AdventureWorksConnectionString" connectionString="Data Source=DUNLAB1;Initial Catalog=AdventureWorks;Integrated Security=False; User Id=sqluser;Password=Edinboro" providerName="System.Data.SqlClient"/>




Sept. 20th




Continue with Chapter 4

  • Finish the SQL method of connecting to the database
  • LINQ (not sure how to pronounce)
    • Language integrated Query
    • Takes care of Database Functionality
    • Combines the idea of OO Programming and Database Side Programming
  • Use Object Relational Designer & LinqDataSource control
    • Tables get mapped to its own class
    • each column has properties
  • DataContext  - Bridges Linq & Active Database


We won't meet this day
  • Continue working on the walk-through in the book and make the LINQ database connection
  • Work on Project 4-4
Sept 27th





Continue with Chapter 4 - Dynamic Data


Chapter 5 - Validation

  • Why do we need it?
  • Like it on client side
  • CausesValidation Property
  • ValidationGroup property
  • Controls
  • Example of Required Field Validator
  • Example of Summary Validator
  • Example of Compare Validator - Add to summary example, make packages more than zero
  • Checking the Input Type example addition
  • Compare to another control - Password checker example
  • Range Checking


Oct. 4th




Finish Chapter 5

Assignments for next Tuesday:

Exercise 5-3 - This is basically Exercise 5-1, 5-2, and 5-3, Not to hard just making some validations


Start Chapter 6



Oct 11th



Oct 12 - No class/Reading Day Topics:

Continue with Chapter 6


Oct 18th Topics:

Chapter 6

  • Adjusting Properties
  • Modifying the look of the menu
  • using the code behind to grab the menu items.
  • making -> bread -> crumbs.




Work Day

Oct 25th Topics:

Chapter 7 - Maintaining State

  • Page Life cycle
  • How do pages actually transmit over the web
  • Network layers (see below)
  • DNS
  • Page States
    • Control
    • View - For just that page, the current instance you are looking at
    • Session - For the session, data that is posted back from the server
    • Application - While the application is open, even across multiple sessions.


Some Internet networking stuff:

Protocol Layer Comments
Application Protocols Layer Protocols specific to applications such as WWW, e-mail, FTP, etc.
Transmission Control Protocol Layer TCP directs packets to a specific application on a computer using a port number.
Internet Protocol Layer IP directs packets to a specific computer using an IP address.
Hardware Layer Converts binary packet data to network signals and back.
(E.g. Ethernet network card, modem for phone lines, etc.)

Diagram 2
Diagram 2



Chapter 7 - Maintaining State

Finish discussion of the various types of states and how to capture the data associated with them.

Nov. 1st

Nov 5th, last day to withdrawal

Chapter 8 - Errors, Exceptions, and Bugs, Oh My!
  • Tracing
  • Looking at contents of variables while program is paused, even arrays, classes and things of that nature.
  • Error handling
    • Try/Catch block
Start 9 - Security

Figure out the WAP Administration controller for users.

  • Creating the initial database that maintains the login information & roles
  • Creating logins
  • Implementing security per form
  • Creating Roles and then restricting access to each form depending on the user's role


Nov. 8th
  • Work day
  • Discuss final project.
  • Assign / Pick the product you are going to sell
  • Test the database connection, Jason has recently checked all the security he can for each of you on your databases.
Chapter 10 - Personalization
Nov 15th Chapter 10 - Personalization

Go over the book example

Chapter 11 has you create a simple shopping site that uses most of the elements we've gone through throughout the semester.  This may be a good starting point for your project.
Nov. 22nd

No class Nov 24-26 Thanksgiving break.

Rest of the semester will be spent catching up with the homework and working on your final project.  I hope to see some nice e-commerce web sites. You can demo you site as soon as its done, no need to wait until the end of the semester.
Nov. 29th    
Dec. 6th Web site demonstrations Web site demonstrations

Final Exam - Web site demonstrations



Due Date Assignment Save To:
September 7th Finish the AdventureWorks web site Chapter 1 Directory
Exercise 2-4 Page 67 Chapter 2 Directory
September 14th Exercise 3-2 Chapter 3 Directory
September 21st, ok so maybe the 23rd Exercise 4-4 ( you're all smart , you can easily do the most challenging one) Chapter 4 Directory
October 12th Exercise 5-3 - This is basically Exercise 5-1, 5-2, and 5-3, Not to hard just making some validations Chapter 5 Directory
October 26th Exercise 6-4 - You'll need to do 6-1 thru 6-3.  Here you are making a simple page that includes many of the features talked about in the chapter. Chapter 6 Directory
November 2nd Exercise 7-3 - Of course do 7-1 & 7-2 first Chapter 7 Directory
November 12th Exercise 9-3 Chapter 9 Directory
Final Project Due day of Final Exam Create a E-Commerce Web site that utilizes the features covered in the book at a minimum, and others you can find on your own.

Some things to include:

  • Attractive splash/home page
  • Menu System & Bread Crumbs
  • Make use of Cascading Style Sheets
  • Make use of AJAX
  • Validation for any data the user types in.
  • Connect to a database of products
    • List available products
    • Select the ones you want
    • Add to shopping cart
  • Start out just selling one thing like shoes, but with various sizes & add more products later if you have time.
  • When you make your Shopping cart you'll probably want to do it similar to how the author does it in Chapter 11
  • Add an administrators page that allows you to add products to your database
  • Add a user login and Profile, this can be used to look up their address when checking out.
  • Shopping Cart Page
  • Purchase Page & Confirmation Page
  • Make it at a quality level you would show off at an interview.

You will demonstrate your web site to the class during the Final Exam period.


You now have MSSQL databases on dunlab1.  The name of your database is the same as your CS username.  You should be able to connect using your CS domain username & password, or using the sqluser username and Edinboro password. As of last week (11/5) Jason has given all the possible access rights to your own database.




Some people had issues with loading data from hidden fields in grid view.  You have to unhide reload the table before you can use it, this is a feature Microsoft added for security)

"FinalProject" Directory





Diagram 8


Diagram 7


Well Known Internet Port Numbers

Listed below are the port numbers for some of the more commonly used Internet services.










Quake III Arena