福建农林大学ASPNET实验二.docx
- 文档编号:14831525
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:21
- 大小:360.90KB
福建农林大学ASPNET实验二.docx
《福建农林大学ASPNET实验二.docx》由会员分享,可在线阅读,更多相关《福建农林大学ASPNET实验二.docx(21页珍藏版)》请在冰点文库上搜索。
福建农林大学ASPNET实验二
福建农林大学计算机与信息学院实验报告
系:
计算机与信息学院专业:
计算机科学与技术年级:
姓名:
学号:
实验室号田C510计算机号
实验时间:
指导教师签字:
成绩:
实验二ASP.NET3.5标准控件
一、实验目的和要求
1、理解3.5页面事件处理流程。
2、熟悉3.5标准控件的使用。
二、实验内容和原理
本次实验为2学时。
为了避免将程序设计得过于复杂,又兼顾实验的覆盖面,将实验分为三个独立的部分。
1、设计并实现一个简易的计算器。
要求如下:
(1)页面浏览效果如图1-1所示。
图1-1简易浏览器的浏览效果
(2)仿照一般计算器的工作方式,实现加和减的功能。
【参考页面代码】
【参考事件代码】请在下述代码的基础上进一步完善。
2、设计并实现一个用于查询教师课表的联动下拉列表框页面,要求如下:
(1)页面浏览效果如图2-1所示。
图2-1联动下拉列表框浏览效果
(2)“学年”下拉列表框中添加十个数据项;当前学期及之前的九个学年。
(3)“学期”下拉列表框添加两个数据项:
1和2。
(4)“分院”下拉列表框添加三个数据项:
数学与信息工程学院、机电学院和外国语学院。
(5)“教师”下拉列表框中的数据项根据不同的分院产生。
【提示】请参照课件《第三讲ASP.NET3.5标准控件》中“年月日下拉列表框的联动”来设置。
3、设计简易在线测试程序。
具体要求如下:
(1)如图3-1所示,在页面打开时显示一组模拟测试题,每题均由一个4元素单选按钮组控件提供4个选项,用户可以使用鼠标选择自己认为正确的答案。
(2)所有题目完成后,单击“提交”按钮,页面中将显示答对题的数量,所有答错题目的标题均加一个淡蓝色底色,以突出显示,如图3-2所示。
(3)界面中的所有题目、分割线均以动态的方式在程序运行时通过代码添加到页面中。
图3-1初始化页面
图3-2部分答错
【参考页面代码】
【参考事件代码】请在下述代码的基础上进一步完善。
三、实验环境
1、Windows XP
2、VisualStudio2005
四、算法描述及实验步骤
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用于存储运算符号,初始值为“”。
代码如下:
staticstringnum1="0",num2="0",total="",sign="";
按钮btnOne被单击时执行的事件代码如下:
protectedvoidbtnOne_Click(objectsender,EventArgse)
{
total+="1";//将数字字符串"1"与total原值连接后再存入total
txtDisplay.Text=total;
}
按钮btnTwo被单击时执行的事件代码如下:
protectedvoidbtnTwo_Click(objectsender,EventArgse)
{
total+="2";
txtDisplay.Text=total;
}
按钮btnThree被单击时执行的事件代码如下:
protectedvoidbtnThree_Click(objectsender,EventArgse)
{
total+="3";
txtDisplay.Text=total;
}
按钮btnAdd被单击时执行的事件代码如下:
protectedvoidbtnAdd_Click(objectsender,EventArgse)
{
if(sign.Length==1)//sign已存储运算符号
{
Count();//调用Count()方法计算结果
num1=txtDisplay.Text;
sign="+";
}
else//sign未存储运算符号
{
num1=txtDisplay.Text;
txtDisplay.Text="";
total="";
sign="+";
}
}
按钮btnSubtract被单击时执行的事件代码如下:
protectedvoidbtnSubtract_Click(objectsender,EventArgse)
{
if(sign.Length==1)//sign已存储运算符号
{
Count();//调用自定义方法Count()计算结果
num1=txtDisplay.Text;
sign="-";
}
else//sign未存储运算符号
{
num1=txtDisplay.Text;
txtDisplay.Text="";
total="";
sign="-";
}
}
按钮btnEqual被单击时执行的事件代码如下:
protectedvoidbtnEqual_Click(objectsender,EventArgse)
{
Count();//调用自定义方法Count()计算结果
}
///
///计算“num1运算符num2”的结果
///
protectedvoidCount()
{
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
True
当列表项内容改变后,自动触发页面往返
DropDownList
ID
ddlCollege
“分院”下拉列表框的编程名称
AutoPostBack
True
当列表项内容改变后,自动触发页面往返
DropDownList
ID
ddlTeacher
“教师”下拉列表框的编程名称
AutoPostBack
True
当列表项内容改变后,自动触发页面往返
(3)编写事件、方法代码
Web窗体首次载入时执行的代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{
//页面第一次载入,向各下拉列表填充值
if(!
IsPostBack)
{
BindYear();
BindTerm();
BindCollege();
BindTeacher();
}
}
当“分院”下拉列表框中选择项改变时,触发的事件代码如下:
protectedvoidddlCollege_SelectedIndexChanged(objectsender,EventArgse)
{
BindTeacher();
}
自定义方法BingYear()的代码如下:
protectedvoidBindYear()
{
//清空学年下拉列表中项
ddlYear.Items.Clear();
intstartYear=DateTime.Now.Year-10;
intcurrentYear=DateTime.Now.Year;
//向学年下拉列表添加项
for(inti=startYear;i<=currentYear;i++)
{
ddlYear.Items.Add(newListItem((i-1).ToString()+"-"+i.ToString()));
}
//设置年份下拉列表默认项
ddlYear.SelectedValue=(currentYear-1).ToString()+"-"+currentYear.ToString();
}
自定义方法BingTerm()的代码如下:
protectedvoidBindTerm()
{
ddlTerm.Items.Clear();
//向学期下拉列表添加项
for(inti=1;i<=2;i++)
{
ddlTerm.Items.Add(i.ToString());
}
}
自定义方法BingCollege()的代码如下:
protectedvoidBindCollege()
{
ddlCollege.Items.Clear();
ddlCollege.Items.Add(newListItem("数学与信息工程学院"));
ddlCollege.Items.Add(newListItem("外国语学院"));
ddlCollege.Items.Add(newListItem("机电学院"));
}
自定义方法BingTeacher()的代码如下:
protectedvoidBindTeacher()
{
ddlTeacher.Items.Clear();
switch(ddlCollege.SelectedValue)//根据不同的分院产生不同的教师姓名
{
case"数学与信息工程学院":
//添加教师列表。
在实际工程中,数据来源于数据库
ddlTeacher.Items.Add(newListItem("沈士根"));
ddlTeacher.Items.Add(newListItem("汪承焱"));
ddlTeacher.Items.Add(newListItem("许小东"));
break;
case"外国语学院":
ddlTeacher.Items.Add(newListItem("张强"));
ddlTeacher.Items.Add(newListItem("王第男"));
break;
case"机电学院":
ddlTeacher.Items.Add(newListItem("朱兆清"));
ddlTeacher.Items.Add(newListItem("毛沁程"));
break;
}
}
最后,浏览建立的Web窗体查看效果。
3.设计并实现一个用于单项选择题的测试页面
(1)设计Web窗体
新建一个Web窗体,切换到设计视图。
如图2-7所示,向页面添加1个PlaceHolder控件、1个Botton控件和1个Label控件,适当调整个控件的大小和位置。
图2-7
(2)设置属性
Web窗体中各控件的初始属性设置如表2-3所示。
表2-3各控件的属性设置表
控件
属性名
属性值
说明
TextBox
ID
btnSubmit
“提交”按钮的编程名称
Text
提交
“提交”按钮上显示的文本
Label
ID
lblDisplay
用来显示选择结果的Label控件编程名称
Text
空
初始不显示任何内容
(3)编写事件代码
Web窗体首次载入时执行的代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{
//定义Label控件lblQuestion1
LabellblQuestion1=newLabel();
lblQuestion1.ID="lblQuestion1";
//设置题目要求。
在实际工程中,数据来源于数据库
lblQuestion1.Text="1.Web服务器控件不包括()。
";
//将lblQuestion1控件添加到PlaceHolder1中
PlaceHolder1.Controls.Add(lblQuestion1);
//定义RadioButtonList控件rdoltChoice1
RadioButtonListrdoltChoice1=newRadioButtonList();
rdoltChoice1.ID="rdoltChoice1";
//设置单项选择项。
在实际工程中,数据来源于数据库
rdoltChoice1.Items.Add(newListItem("A.Wizard","A"));
rdoltChoice1.Items.Add(newListItem("B.input","B"));
rdoltChoice1.Items.Add(newListItem("C.Adrotator","C"));
rdoltChoice1.Items.Add(newListItem("D.Calender","D"));
PlaceHolder1.Controls.Add(rdoltChoice1);
}
按钮btnSubmit被单击时执行的事件代码如下:
protectedvoidbtnSubmit_Click(objectsender,EventArgse)
{
//查找rdoltChoice1控件
RadioButtonListrdoltChoice1=(RadioButtonList)PlaceHolder1.FindControl("rdoltChoice1");
lblDisplay.Text="你选择了:
"+rdoltChoice1.SelectedValue;
}
(4)浏览建立的Web窗体进行测试。
五、调试过程
在编写BingTeacher()与BindCollege()的联系时有些错误,修改后成功。
六、实验结果
七、总结
通过本次试验我理解了ASP.NET3.5页面事件处理流程,掌握了ASP.NET3.5标注控件的应用。
附录:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 福建 农林 大学 ASPNET 实验