Web程序设计实验指导书1116 联系客服

发布时间 : 星期一 文章Web程序设计实验指导书1116更新完毕开始阅读ea055267763231126fdb113f

图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 Botton Botton Botton Botton Botton Botton 属性名 ID ID Text ID Text ID Text ID Text ID Text ID Text 属性值 txtDisplay btnOne 1 btnTwo 2 btnThree 3 btnAdd + btnSubtract - btnEqual = 说明 用于显示输入数字的文本框控件编程名称 不能更改文本框中的文本,默认值为False “数字1”按钮的编程名称 “数字1”按钮上显示的文本 “数字2”按钮的编程名称 “数字2”按钮上显示的文本 “数字3”按钮的编程名称 “数字3”按钮上显示的文本 “+”按钮的编程名称 “+”按钮上显示的文本 “-”按钮的编程名称 “-”按钮上显示的文本 “=”按钮的编程名称 “=”按钮上显示的文本 ReadOnly True (3)编写事件、方法代码

在所有事件、方法外声明静态字段。静态字段保证了其中的数据可以在所有的事件、方法中被访问,并能在事件代码或方法代码执行结束后保留数据。其中,静态字段num1用于存储算式中的第一个数字字符串,初始值为“0”;num2用于存储算式中的第二个数字字符串,初始值为“0”;total用于存储将所有输入的数连接后的数字字符串,初始值为“”(空字符串);sign用于存储运算符号,初始值为“”。代码如下:

static string num1 = \按钮btnOne被单击时执行的事件代码如下:

protected void btnOne_Click(object sender, EventArgs e) {

total += \ //将数字字符串\与total原值连接后再存入total txtDisplay.Text = total; }

按钮btnTwo被单击时执行的事件代码如下:

protected void btnTwo_Click(object sender, EventArgs e) {

total += \

txtDisplay.Text = total; }

按钮btnThree被单击时执行的事件代码如下:

protected void btnThree_Click(object sender, EventArgs e) {

total += \

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()计算结果 }

///

/// 计算“num1 运算符 num2”的结果 ///

protected void Count() {

num2 = txtDisplay.Text;

if (num2 == \ //num2值为空字符串 {

num2 = \ }

switch (sign) //根据不同的运算符分别计算结果 {

case \

txtDisplay.Text = (int.Parse(num1) + int.Parse(num2)).ToString(); num1 = \ num2 = \ total = \ sign = \ break;

case \

txtDisplay.Text = (int.Parse(num1) - int.Parse(num2)).ToString(); num1 = \ num2 = \ 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 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();