基于事件驱动开发
事件驱动开发简单应用
- 使用“控件+事件”方式实现计算器(和winform项目开发方式非常相似)。
- aspx文件除了具备HTML显示的内容外,还可以接收提交的数据,数据的处理放在.cs文件中。
- 后台C#代码,编程方式和winform一样(代码后置)。
一个简单的计算器
- 可以计算简单的加减乘除,还可进行是否输入为数字的异常处理
- 目录
- 演示
- 代码
CalDemo.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CalDemo.aspx.cs" Inherits="ASP.NETDemo.CalDemo" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>一个简单计算器</title>
<style>
.calculator-title {position:relative;height:200px;width:100%;display:flex;justify-content:center;align-items:center}
.calculator-title p {font-weight:500;font-size:30px;color:black;}
.calculator-main{position:relative;min-height:200px;width:100%;display:flex;justify-content:center;align-items:center}
.calculator-row{position:relative;min-width:300px;display:flex;flex-direction:row;}
.mdui-select{font-size:25px;width:60px;}
</style>
</head>
<body>
<form id="form1" runat="server">
<div class="calculator-title"><p>ZR的计算器</p></div>
<div class="calculator-main">
<div class="calculator-row">
<asp:TextBox ID="txtNum1" runat="server"></asp:TextBox>
<asp:DropDownList ID="select" runat="server" CssClass="mdui-select"></asp:DropDownList>
<asp:TextBox ID="txtNum2" runat="server"></asp:TextBox>=<asp:TextBox ID="txtResult" runat="server">
</asp:TextBox><asp:Button ID="Button1" runat="server" Text="计算" OnClick="Button1_Click" />
</div>
</div>
</form>
</body>
</html>
CalDemo.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ASP.NETDemo
{
public partial class CalDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
select.Items.Add("+");
select.Items.Add("-");
select.Items.Add("*");
select.Items.Add("/");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
int a = Convert.ToInt32(this.txtNum1.Text.Trim());
int b = Convert.ToInt32(this.txtNum2.Text.Trim());
int c = 0;
switch (select.SelectedValue)
{
case "+":
this.txtResult.Text = (a + b).ToString();
break;
case "-":
this.txtResult.Text = (a - b).ToString();
break;
case "*":
this.txtResult.Text = (a * b).ToString();
break;
case "/":
this.txtResult.Text = (a / b).ToString();
break;
}
}
catch (Exception){
Response.Write("<script>alert('输入框的内容非整数或浮点数,请重新输入')</script>");
}
}
}
}