福建农林大学ASPNET实验二.docx

上传人:b****1 文档编号:14831525 上传时间:2023-06-27 格式:DOCX 页数:21 大小:360.90KB
下载 相关 举报
福建农林大学ASPNET实验二.docx_第1页
第1页 / 共21页
福建农林大学ASPNET实验二.docx_第2页
第2页 / 共21页
福建农林大学ASPNET实验二.docx_第3页
第3页 / 共21页
福建农林大学ASPNET实验二.docx_第4页
第4页 / 共21页
福建农林大学ASPNET实验二.docx_第5页
第5页 / 共21页
福建农林大学ASPNET实验二.docx_第6页
第6页 / 共21页
福建农林大学ASPNET实验二.docx_第7页
第7页 / 共21页
福建农林大学ASPNET实验二.docx_第8页
第8页 / 共21页
福建农林大学ASPNET实验二.docx_第9页
第9页 / 共21页
福建农林大学ASPNET实验二.docx_第10页
第10页 / 共21页
福建农林大学ASPNET实验二.docx_第11页
第11页 / 共21页
福建农林大学ASPNET实验二.docx_第12页
第12页 / 共21页
福建农林大学ASPNET实验二.docx_第13页
第13页 / 共21页
福建农林大学ASPNET实验二.docx_第14页
第14页 / 共21页
福建农林大学ASPNET实验二.docx_第15页
第15页 / 共21页
福建农林大学ASPNET实验二.docx_第16页
第16页 / 共21页
福建农林大学ASPNET实验二.docx_第17页
第17页 / 共21页
福建农林大学ASPNET实验二.docx_第18页
第18页 / 共21页
福建农林大学ASPNET实验二.docx_第19页
第19页 / 共21页
福建农林大学ASPNET实验二.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

福建农林大学ASPNET实验二.docx

《福建农林大学ASPNET实验二.docx》由会员分享,可在线阅读,更多相关《福建农林大学ASPNET实验二.docx(21页珍藏版)》请在冰点文库上搜索。

福建农林大学ASPNET实验二.docx

福建农林大学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标注控件的应用。

附录:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2