Thursday, April 5, 2012

Assignment 1 Examples

Here is the Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" 
CodeFile="Default.aspx.cs" Inherits="_Default"  %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="A1Example.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <h1>Calculator Example</h1>
    <div>
    <table>
    <tr>
    <td colspan="2">
        <asp:TextBox ID="txtDisplay" runat="server">
</asp:TextBox></td>
    </tr>
    <tr>
    <td>
        <asp:Button ID="btn1" runat="server" Text="1" 
        CssClass="button" OnClick="number_click" /></td>
        <!--These buttons share the same event-->
    <td>
        <asp:Button ID="btn2" runat="server" Text="2" 
        CssClass="button"  OnClick="number_click"/></td>
    </tr>
    <tr>
    <td>
        <asp:Button ID="btnAdd" runat="server" Text="+"  CssClass="button" 
            onclick="btnAdd_Click"/></td>
    <td>
        <asp:Button ID="btnClear" runat="server" 
Text="Clear" CssClass="button"/></td>
    </tr>
     <tr>
    <td colspan="2">
        <asp:Button ID="btnEqual" runat="server" Text="="  
CssClass="button" 
            onclick="btnEqual_Click" /></td>
    </tr>
    </table>
    </div>
    </form>
</body>
</html>



Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void number_click(object sender, EventArgs e)
    {
        //this handles the number buttons
        //determine which number was clicked
        //and get the text from it
        Button b = (Button)sender;
        txtDisplay.Text += b.Text; //add to existing text
    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        //get the number from the textbox
        //using the GetNumber() method
        double num = GetNumber();

        //check to see if there is a number in the session
        if (Session["number"] != null)
        {
            //add the new number to the one in the session
            double n1 = (double)Session["number"];
            Session["number"] = n1 + num;
        }
        else
        {
            //otherwise just the store number
            Session["number"] = num;
        }
        //clear the text
        txtDisplay.Text = "";
        //store the operator in the session
        Session["operator"] = "+";

    }
    protected void btnEqual_Click(object sender, EventArgs e)
    {
        //get the number stored in the session
        double num1 = (double)Session["number"];
        //get the last operator
        string op = Session["operator"].ToString();
        //Get the number from the text box
        double num2 = GetNumber();
        
        //test which it operator is
            if(op.Equals("+"))
            {
                //do the operation and display it
                txtDisplay.Text=(num1 + num2).ToString();
               
            }
            if(op.Equals("*"))
            {
                txtDisplay.Text=(num1* num2).ToString();
            }

        //clear the sessions
            Session["number"] = null;
            Session["operator"] = null;
        
    }

    protected double GetNumber()
    {
        //get the value from the text box
        string number = txtDisplay.Text;
        //double num = double.Parse(number);
        double num=0;
        //try to parse the number
        //if it is good it returns true and assigns the value to num
        bool isGood = double.TryParse(number, out num);
        //if false let the user know
        if (isGood == false)
        {
            //creates a javascript alert
            Response.Write
("<script type='text/JavaScript'>alert('Learn your numbers');</script>");
            txtDisplay.Text = "";
        }
        //return the number
        return num;
    }
}

A1Stylesheet.css

body {
}

td
{
    width:30px;
}

p
{
    font-size: large;
}

h1
{
    color:Navy;
    font-size:150%;
}

.button
{
    width:40px;
}

No comments:

Post a Comment