MIS 3200 – Unit 1 • • • • • • • Visual C#.NET OOP Objects Toolbox Naming Convention HTML: Properties and Limitations Style Sheets What is Visual C#.NET • Object Oriented Programming Language (OOP) • Uses an Integrated Development Environment (IDE), which is a program used to do your work, just like MS Word is used to create documents • The IDE Visual Web Developer 2010 Express (VWD) • The IDE has a Graphical User Interface (GUI) • Used for creating software programs • Also used for creating web pages OOP • Object – An encapsulation of data and code that represents something of importance to the developer – So an Object is a piece of software that is created by abstract piece software (called a Class) which governs the features that would be in included when the Object is created. – These features or characteristics are unique and are comprised of • Properties, methods, and events • Programming Language – Give instructions to a computer, which in turn executes the instructions Object Characteristics Property - An attribute of an object – Examples: Colors, Fonts, Height, Top • Methods – something that an object does or knows how to do – Examples: Move, Add, Clear, Print • Events – something that happens to an object – Examples: Click, KeyPress, DoubleClick Objects - continued • Created, or instantiated, from classes • A class is a template that defines an object and its characteristics • Similar to a blueprint. For example, the blueprint of a house describes the characteristics, or properties, of the house such as number of rooms, bathrooms, windows, doors, stairs, size, etc. When you build a house you create an instance of the house – a real object with properties described in the blueprint. Naming objects • Names are used to reference the object in the program code • Each name should identify the type of object and the function of the object • Each object name has two parts Note: This is a common convention used to help document what the object is and what it does. – A lower case prefix and – A usage identifier that describes the function of the object. The usage identifier begins with an Uppercase character Tool Box Objects • Visual Web Developer (VWD) has a large collection of objects that can be used to build web pages. These are located in the Toolbox and are generally called Controls or ASP.NET controls (we will use the term Controls). • Controls are added to a web page by dragging them from the Toolbox and dropping them on the page Some Naming prefixes • • • • • • • • • • • btn ---- Button ckb ---- Check Box cbo ---- Combo Box hsb ---- Horizontal Scroll Bar lbl ---- Label See the Coding Standards handout lst ---- List Box for a full list of prefixes. mnu --- Menu rb ---- Radio Button tmr ---- Timer txt ---- Text Box vsb ---- Vertical Scroll Bar Example object names Unacceptable Names Button1 Name The_List Acceptable Names btnExit lblName lstCollege txtStreetAddress Tools for Web Site Design • HTML (structure) • Style sheets (presentation) • Code – Modify the the look of the page – Respond to events – Implement business logic Open your MIS Web Site • Before your start … be sure to copy your ASPPub folder to your desktop! This is something we will do every time we want to make changes to our public URL MIS Portfolio. – To do this, click on the ASPNET shortcut on your desktop, right-click and copy the ASPPub folder (not ASPPub.old), paste the ASPPub folder to your desktop. • Start Visual Web Developer, click File, click Open Web Site, click on the ASPPub folder on your desktop and click Open. The next slide shows what this should look like Opening a web site Default Web Application Open the file(s) that you want to make changes to by double-clicking on the filename in the Solution Explorer Click here to see the toolbox These buttons let you switch between Design and Source view, or Split the screen and see both at the same time. Split View Selecting text or a control in one view automatically selects in same thing in the other view. What is the difference? • Source and Design view show the same thing – Source View shows the text and HTML tags that define the page – Design View shows how the text and tags should be displayed (rendered) by a browser (“should” because HTML tells the browser what you want the page to look like, e.g. bold, or a header h2. As a result pages often look at least slightly different in different browsers due to the standards implemented by the browser manufacturer.) Why is this important to the web page developer? HTML • HyperText Markup Language – Used to describe how the text should be displayed • Paragraphs, lists, headings, bold or emphasized text, etc. • Uses “tags” that always appear in pairs, an opening tag and a closing tag » <p>This is a paragraph</p> » <h2>This is a second level heading</h2> » <strong>this would be displayed in bold</strong> More HTML – A few tags have the opening and closing combined • This is the tag for a new line (a break) <br /> • This is the tag for a horizontal line <hr /> – Tags can be nested but must not overlap Correct nesting: note that browsers ignore extra spaces and line breaks incorrect nesting: the green squiggles are VWD telling you something is wrong. Some browsers attempt to display pages, even when there are errors in the HTML and other browsers don’t. You should ALWAYS check your pages in different browsers. Working with HTML • You can enter or edit HTML tags directly in Source view. – For example, to add a title to your home page, edit line 1 in source view replacing “Home Page” with “Joe Bobcat’s Portfolio” (but use your own name!) Working with HTML 2 • You can also use VWD tools to add HTML to your page. – Working in Split view, (see next slide) • • • • Select “My MIS Courses” in Design view From the Block Format dropdown list, select Heading3 Notice that the text has changed in Display view And HTML has been added to the Source view The next slide shows what this should look like Using HTML from Design View 2) Select the tool you want to use, In this case Block Format 1) Select the text you want to modify Editing HTML Properties These buttons let you change how the properties are organized, either by Category or Alphabetically. Your instructors prefer Alphabetically. After selecting something in either Source or Design View you can use the Properties Explorer to see all the Properties associated with the selected object, in this case the Page object. Notice that the Page object has many more properties than are shown on line 1 where you only see properties that have assigned values. Properties may be changed in the right-hand column. Limitations of HTML • Originally created more than 20 years ago and • Contained a very limited set of tags because computers at the time didn’t have graphics screens • As computers and display devices became more powerful, browser vendors started adding their own special tags to HTML which lead to… Limitations 2 • Pages being displayed differently, if at all, in different browsers such as Lynx (a very early text-based browser), Netscape, Internet Explorer, Opera, Firefox, Safari, Chrome etc. • Cascading Style Sheets were developed to solve this problem and to allow much finer control over design. Style Sheets • Styles contain a series of rules that define design oriented properties of a control • Styles may be defined in a web page or in one or more external Style Sheets. • Several style sheets may work together to influence how a single control is displayed Creating Styles in Design View • VWD automatically creates a style when it can’t use HTML to handle a design request • For example, if you want to change the color of some text… – – – – – – In Design View of Default.aspx, select MY MIS COURSES From the toolbar at the top of VWD, select the Background Color tool (the right icon: ) Click on a Bobcat green, then OK Click on the Foreground Color tool (the left icon) – Click the center white spot on the color pallet, then OK Styles in Design View 2 VWD created style1 with rules that set the foreground (color) to white and the background to dark green The style is “applied” to the heading through the Class property The heading text is now white with a dark green background Cascading Style Sheets - CSS • Many different style sheets may influence a control • The final result depends on the cascading order of the style sheets with each new style sheet potentially modifying the settings of previous sheets • VWD has a CSS Properties window that can help understand and modify CSS Using CSS Properties (L1 prep) • Let’s change the color of the title on our master page (complete these steps before the L1) – Load the master page by double-clicking Site.master in the Solution explorer – Switch to Design mode – Click anywhere in the header and click <div.header> – Next we will display the CSS properties windows Displaying the CSS Properties 1. 2. 3. 4. Click the View menu Click Other Windows Select CSS Properties The CSS Properties window overlays the Toolbox (see next slide) 5. To keep the window open, click the “unpinned” icon to convert it to a “pinned” icon Using CSS Properties (note – you can click and drag here to change the window size) The Applied Rules section shows all the cascading style sheets that have an effect on the selected control (the master page title in this case). As you click on different styles the CSS Properties list shows the style rules added or modified by the selected style. This shows all the HTML tags associated with the selected control. In this case a header tag <h1> is inside a <div> tag called “title” which is inside another <div> called “header” etc. If you click one of these tags the corresponding control is highlighted on the page. This tells us that the .header style changes the background color Change a property 1. Click the + next to background to expand the list of properties and click in the box to the right of (background-color) 2. Click the little down arrow 3. Select a standard color or click More Colors for the color pallet Master page header change More changes • Click to the right of the About button • You should see selected at the bottom of the window • Use the CSS Properties window to change the color of this control to the same thing you used in the previous slide • Save all of the open files (Site.master and Styles/Site.css) and open Default.aspx this is where the style sheets are actually stored Combined effect • With Default.aspx selected, press the run ( )button Note, some browsers may cache (remember how it was before any changes) the style sheet, so you may not immediately see the change – clicking the refresh button in the browser should fix this A gentle first look at C# code Unit 1.2 L1 • Create an L1 page under Unit1 – Right-click on the Unit1 folder and select Add New Item… Code 2 – add new web page 1. Select C# 2. Select Web Form 3. Name the Form LastnameU1L1.aspx 4. Check both checkboxes 5. Click Add 1 2 3 4 5 Code 3 – select Master Page – Because you checked Select master page you will see this page. Select the one master page you have – (later there may be two or more to choose from) – click OK Code 4 – change the Title 6. From Source view, change the page Title to “Yourname – U1L1 – First Code” 7. Switch to Design view 8. Click in the MainContent area and type “Please enter your name: ” Code 5 – add a TextBox 9. Expand and pin the Toolbox 10.Locate the TextBox control (you may have to scroll down the ToolBox) 11.Click on the TextBox, drag it after the text you just entered and drop it Code 6 - naming the TextBox 12.Name the TextBox a. Be sure the new TextBox is selected b. Sort the Properties window alphabetically (rightclick the TextBox and choose Properties if you do not see the Properties Window) c. Scroll to the top until you see (ID) d. Select the default name, TextBox1, and replace it with txtName Code 7 13.Add the next Control a. b. c. d. e. f. Click to the right of the TextBox Press Enter to create a new paragraph Locate the Button Control in the ToolBox Drag a Button to the new paragraph Change the Button’s (ID) property to btnDemo Change the Button’s Text property to Click to see message Code 8 – adding a Label 14.Add one additional Control a. Click to the right of the Button and press Enter b. Locate the Label Control on the Toolbox and drag it to the new paragraph. c. Change the Label’s (ID) to lblOutput d. By default the Text of a Label is set to Label – we need to delete that text e. Set the Label’s Visible property to False Code 9 – take a look • Run the page – Does anything happen when you press the button? – Why? Or Why not? Code 10 – where we are • We added three Objects (Controls) to our web page • We changed several properties of the Controls • But we haven’t told the page to pay attention to any events • We do that with methods linked to Objects Code 11 – create a method 15.To create a method linked to the most common event a Button sees, the Click event, simply double-click the Button. – VWD creates the method on a special page called the “code-behind” page and takes you to it Code 12 – Code-behind page The page has the same name as the aspx page with the addition of .cs for C#. It is also shown in the Solution Explorer nested under the .aspx page. This is the new method. All methods that deal with events start with “protected void” and end with something similar to what you see in the () – we will discuss all of this later in the course. The method name, btnDemo_Click, is constructed from the Control’s (ID) and the name of the event. These tell you where the cursor is on the page, in this case on line 16, column 9 – in the middle of our new method. Code 13 – the plan • What we want to happen – Get the name from txtName – Add a welcome message – Put the results in lblMessage – Make lblMessage visible Code 14 – the process • We will have to write a few lines of C# code • Everything in C# is case sensitive so when we want to refer to our TextBox we say txtName. If we use any other capitalization C# won’t know what we mean. • C# organizes code into blocks contained inside braces, { }. For example, all the code we need for btnCDemo_Click must go between the braces that are currently on lines 15 and 17. • Every line of code in C# ends with a “;” (much like sentences in English end with a period) Code 15 – more process • Contents of a TextBox are in it’s Text property • Contents of a Label are in it’s Text property • An assignment statement (an “=“ sign) is used to copy data from one place to another • If we just wanted the Label to show what was in the TextBox we would write This says to assign the Text property of lblOutput the current value of the txtName’s Text property. Code 16 – a little help • VWD provides a great deal of help when we are writing code. • As soon as you start typing VWD starts suggesting this you might mean as in this example where only the lower case letter “l” was entered If you continue typing the list will narrow to only those items that contain all your letters. You can use the arrow keys to move up and down the list. Once you select the item you want you can press the Tab key to have it entered on the page. Code 17 – and more help • Object names are separated from property names by a period • After you enter the object name, type a period and VWD will show you all the things that can come next Select the Property you want using any of the techniques mentioned on the previous slide. (Properties are indicated by the icon you see to the left of Text) Code 18 – continuing • We want to put the name that is in txtName AND a message in lblOutput • C# allows to us stick text data (also know as string data) together using the + operator (technically called the concatenation operator) 16. The following line puts the word “Welcome” before the users name and “Web development is fun” after the name. Notice the spaces and the period inside the quotation marks Code 19 – almost done 17.We need to make lblOutput visible. We do this by setting it’s Visible property to True. 18.Finally, to help the user we want the cursor to be in txtName when the page loads. This is how you can do that. Note that this is in a different method, the Page_Load method. We will talk about this method and what is happening here in class. Also note that Focus() is a method of web controls – methods will always require the use of parentheses Code 20 – Add comments to the final page 19.Add comments Add comments to your page like you see here. First, we need to explain the purpose of the entire page. Second, we need to add comments to every method on the page. Note how they all start with // Leaving comments out can be very problematic. What may be obvious to you may not be to somebody else. Add comments here to explain what Focus does. Comments // indicates that any following text is a comment It is important to include descriptive comments. It is amazing what you will forget in old code. Also, you never know who else may be working on your code – help them by providing details about how it works! Notice the placement of the comments. To describe the btnDemo_Click method, they are placed within the { } brackets And the result is … Oops, one more thing We need to link this web page to our MIS3200 page 20. Click on the MIS3200 folder 21. Open the MIS3200 home page you made last class 22. Click after your welcome message and press Enter 23. Drag a Hyperlink control into the new paragraph Oops, continued 24.Change the (ID) of the Hyperlink to hlUnit1L1 25.Change it’s Text to “Unit1 L1” 26.Select NavigateUrl and click the … to open the Selet URL window 27.Locate and select your page in the Unit 1 folder (see next page) 28.Press OK Oops, in pictures And finally … 29.You should now be able to get to your new page, starting from your MIS3200 class page – try and and make sure it works. Submit your MIS Portfolio’s public URL to the Unit 1.2 L1 drop box. (see Unit 1.1, slides 40-41 for help on moving your ASPPub folder to your ASPNET account) This last step is VERY important. You will only receive credit for L1 and L2 work and for homework assignments if we can find them from your MIS Portfolio and MIS class (MIS3200LastnameFirstname.aspx) page!! Summary - two views, one page • Visual Web Developer (WVD) provides two different views of a web page – Source View • Shows the HTML that defines the page • Allows us to work directly with HTML tags – Design View • Shows what the page will look like • Allows us to design a page using drag-and-drop controls – Split View (not a new view, rather the combination of both) Directions for Unit 1.2 L2 This assignment allows you to develop your About page 1. Open the About page in Source view (About.aspx) a. Change the Page Title to “About Joe Bobcat” (but, use your own name!) – note, do not re-name or move the About.aspx file 2. Switch to Design mode 3. Change the ABOUT heading to ABOUT ME a. b. Change the heading to the same color as your master page heading Change the text color to White Directions - Continued 4. Delete Put Content Here and replace it with a table (Table menu, Insert Table) with 4 rows and 2 columns. a. b. c. d. Label the top left column: Local Address Label the top right column: Permanent Address Make both of the labels bold and larger than the other text Add your address information in the other cells of the table (if you are not comfortable putting in your address since this could be accessed by anyone on the Internet, just make up one) Directions - Continued 5. Create an Images folder under ASPPub (this will hold images for all of your MIS courses eventually – this is different than the Images folder we created under MIS3200) 6. Download an image of you from somewhere and put it in the Image folder (if you don’t have one right now then use a different image) 7. Select the table.style1 (note, it may be table.style2 or higher) press the right arrow key to get out of the table and press the Enter key to create a new paragraph 8. Add a Button under the table a. b. Change its (ID) to btnSeeMe Change the Text property to See Me Directions – Continued 2 9. Add a second Button next to the first a. b. c. Change its (ID) to btnHideMe Change the Text property to Hide Me Change Visible property to False 10. Click to the right of the button, press the space bar twice 11. Drag an Image Control to the page a. b. c. Change the (ID) of the Image to imgMe Select the ImageUrl property, click …, select your image in the Images folder Change the Visible property to False Directions – Continued 3 12. Double-click the See Me button to create a method (see slide 54, step 17 for help with the following) a. Make imgMe visible b. Make btnHideMe visible c. Make btnSeeMe invisible 13. Return to the aspx page in Design view and doubleclick the Hide Me button a. In the new method, make imgMe invisible b. Make btnHideMe invisible c. Make btnSeeMe visible Directions – Continued 4 14. In the Page_Load method a. Set Focus to btnSeeMe 15. Add required page level and method level comments (including Page_Load! - slides 55 & 56) 16. Create a link to the About page on your MIS220 home page a. Name the hyperlink hlUnit1L2 b. Change its Text to Unit1 L2 17. Run and test the page 18. Copy the ASPPub folder to the ASPNET server and submit the MIS Portfolio URL to the Unit 1.2 L2 dropbox For our next class… • Remember to complete your L3 before our next class (see the drop box for directions). • Prepare for the Unit 1 quiz by reviewing the Unit 1.1 & 1.2 lecture notes (and any notes from class). Review! • What Property of a label controls what the user sees in the object? • The prefix for a button is_____? • What do the following acronyms mean: OOP, GUI, RAD • Identify the following as events or properties: – – – – – – BackColor Click Text BorderStyle Page_Load Visible