实验二 ASP.NET 3.5标准控件
姓名:
学号:
班级:
一.实验目的
(1)理解ASP.NET 3.5页面事件处理流程。
(2) 理解ASP.NET 3.5标注控件的应用。
二.实验内容及要求
1.设计并实现一个简易的计算器
要求如下:
(1)页面浏览效果如图2-1所示
(2)仿照一般计算器的工作方式,实现加和减的功能。
图2-1 “简易计算器”浏览效果
2.设计并实现一个用于查询教师课表的联动下拉列表框页面
要求如下:
(1)页面浏览效果如图2-2所示
(2)“学年”下拉列表框中添加十个数据项:当前学年及之前的九个学年。
(3)“学期”下拉列表框中添加两个数据项:1和2.
(4)“分院”下拉列表框中添加三个数据项:“数学与信息工程学院”、“机电学院”和“外国语学院”。
(5)“教师”下拉列表框中的数据项根据不同的分院产生。
图2-2 联动下拉列表框浏览效果
3.设计并实现一个用于单项选择题的测试页面
要求如下:
(1)页面浏览效果如图2-3所示
(2)试题要求和选择题必须动态生成。
(3)如图2-4所示,当单击提交按钮时,给出选择的答案。
图2-3 测试页面效果(1) 图2-4 测试页面效果(2)
三.实验步骤
1. 设计并实现一个简易的计算器
(1)设计Web窗体
新建一个Web窗体,切换到设计视图。如图2-5所示,向页面添加1个用于布局的1行1列黑边框表格。向表格中添加一个TextBox控件、6个Botton控件。
图2-5
(2)设置属性
Web窗体中各控件的属性设置如表2-1所示。
表2-1 各控件的属性设置表
控件 | 属性名 | 属性值 | 说明 |
TextBox | ID | txtDisplay | 用于显示输入数字的文本框控件编程名称 |
ReadOnly | True | 不能更改文本框中的文本,默认值为False | |
Botton | ID | btnOne | “数字1”按钮的编程名称 |
Text | 1 | “数字1”按钮上显示的文本 | |
Botton | ID | btnTwo | “数字2”按钮的编程名称 |
Text | 2 | “数字2”按钮上显示的文本 | |
Botton | ID | btnThree | “数字3”按钮的编程名称 |
Text | 3 | “数字3”按钮上显示的文本 | |
Botton | ID | btnAdd | “+”按钮的编程名称 |
Text | + | “+”按钮上显示的文本 | |
Botton | ID | btnSubtract | “-”按钮的编程名称 |
Text | - | “-”按钮上显示的文本 | |
Botton | ID | btnEqual | “=”按钮的编程名称 |
Text | = | “=”按钮上显示的文本 | |
(3)编写事件、方法代码
在所有事件、方法外声明静态字段。静态字段保证了其中的数据可以在所有的事件、方法中被访问,并能在事件代码或方法代码执行结束后保留数据。其中,静态字段num1用于存储算式中的第一个数字字符串,初始值为“0”;num2用于存储算式中的第二个数字字符串,初始值为“0”;total用于存储将所有输入的数连接后的数字字符串,初始值为“”(空字符串);sign用于存储运算符号,初始值为“”。代码如下:
static string num1 = "0", num2 = "0", total = "", sign = "";
按钮btnOne被单击时执行的事件代码如下:
protected void btnOne_Click(object sender, EventArgs e)
{
total += "1"; //将数字字符串"1"与total原值连接后再存入total
txtDisplay.Text = total;
}
按钮btnTwo被单击时执行的事件代码如下:
protected void btnTwo_Click(object sender, EventArgs e)
{
total += "2";
txtDisplay.Text = total;
}
按钮btnThree被单击时执行的事件代码如下:
protected void btnThree_Click(object sender, EventArgs e)
{
total += "3";
txtDisplay.Text = total;
}
按钮btnAdd被单击时执行的事件代码如下:
protected void btnAdd_Click(object sender, EventArgs e)
{
if (sign.Length == 1) //sign已存储运算符号
{
Count(); //调用Count()方法计算结果
num1 = txtDisplay.Text;
sign = "+";
}
else //sign未存储运算符号
{
num1 = txtDisplay.Text;
txtDisplay.Text = "";
total = "";
sign = "+";
}
}
按钮btnSubtract被单击时执行的事件代码如下:
protected void btnSubtract_Click(object sender, EventArgs e)
{
if (sign.Length == 1) //sign已存储运算符号
{
Count(); //调用自定义方法Count()计算结果
num1 = txtDisplay.Text;
sign = "-";
}
else //sign未存储运算符号
{
num1 = txtDisplay.Text;
txtDisplay.Text = "";
total = "";
sign = "-";
}
}
按钮btnEqual被单击时执行的事件代码如下:
protected void btnEqual_Click(object sender, EventArgs e)
{
Count(); //调用自定义方法Count()计算结果
}
/// <summary>
/// 计算“num1 运算符 num2”的结果
/// </summary>
protected void Count()
{
num2 = txtDisplay.Text;
if (num2 == "") //num2值为空字符串
{
num2 = "0";
}
switch (sign) //根据不同的运算符分别计算结果
{
case "+":
txtDisplay.Text = (int.Parse(num1) + int.Parse(num2)).ToString();
num1 = "0";
num2 = "0";
total = "";
sign = "";
break;
case "-":
txtDisplay.Text = (int.Parse(num1) - int.Parse(num2)).ToString();
num1 = "0";
num2 = "0";
total = "";
sign = "";
break;
}
}
}
(4)浏览建立的Web窗体进行测试。
2. 设计并实现一个用于查询教师课表的联动下拉列表框页面
(1)设计Web窗体
新建一个Web窗体,切换到设计视图。如图2-6所示,向页面输入“学年:”、“学期:”、“分院:”和“教师:”等信息,适当设置字体大小。再向页面添加4个DropDownList控件,适当调整个控件的大小和位置。
图2-6
(2)设置属性
Web窗体中各控件的属性设置如表2-2所示。
表2-1 各控件的属性设置表
控件 | 属性名 | 属性值 | 说明 |
DropDownList | ID | ddlYear | “学年”下拉列表框的编程名称 |
AutoPostBack | True | 当列表项内容改变后,自动触发页面往返 | |
DropDownList | ID | ddlTerm | “学期”下拉列表框的编程名称 |
AutoPostBack | textbox控件边框设置True | 当列表项内容改变后,自动触发页面往返 | |
DropDownList | ID | ddlCollege | “分院”下拉列表框的编程名称 |
AutoPostBack | True | 当列表项内容改变后,自动触发页面往返 | |
DropDownList | ID | ddlTeacher | “教师”下拉列表框的编程名称 |
AutoPostBack | True | 当列表项内容改变后,自动触发页面往返 | |
(3)编写事件、方法代码
Web窗体首次载入时执行的代码如下:
protected void Page_Load(object sender, EventArgs e)
{
//页面第一次载入,向各下拉列表填充值
if (!IsPostBack)
{
BindYear();
BindTerm();
BindCollege();
BindTeacher();
}
}
当“分院”下拉列表框中选择项改变时,触发的事件代码如下:
protected void ddlCollege_SelectedIndexChanged(object sender, EventArgs e)
{
BindTeacher();
}
自定义方法BingYear()的代码如下:
protected void BindYear()
{
//清空学年下拉列表中项
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论