C#和ASP.NET的结合
一、实验目的
(1)了解C#语言规范。
(2)掌握C#基础语法、流程控制和异常处理等。
(3)掌握创建C#类并应用于ASP.NET页面中的方法。
(4)掌握ASP.NET页面的调试方法。
二、实验内容及要求
1. 转换输入的成绩到相应的等级
要求如下:
(1)页面浏览效果如图3-1所示。
(2)成绩输入使用TextBox控件。
(3)单击Button控件时输出相应的等级信息,其中等级信息输出在一个Label控件上。
2. 在Web窗体中输出九九乘法表
浏览效果如图3-2所示。
图3-2 “九九乘法表”浏览效果
3. 输入一组以空格间隔的共10个以内的整数,输出该组整数的降序排列
要求如下:
(1)页面浏览效果如图3-3所示。
(2)输入使用TextBox控件。
(3)单击Button控件时输出所有整数的降序排列。
(4)必须使用数组。
4. 计算两个数的商
要求如下:
(1)页面浏览效果如图3-4和图3-5所示。
(2)输入使用两个TextBox控件。
(3)单击Button控件时输出两个数的商。
(4)必须包含异常处理。
图3-4 “计算商”浏览效果(1) 图3-5 “计算商”浏览效果(2)
5. 设计并实现一个用户信息类UserInfo
要求如下:
(1)包括两个属性:姓名(Name)和生日(Birthday)。
(2)包括一个用于判断用户是否达到规定年龄的DecideAge()方法。当年龄大于等于18岁时返回值“×××,您是成人了!”,否则返回值“×××,您还没长大呢?”。
6. 在Web窗体中应用UserInfo类
页面浏览效果如图3-6和图3-7所示。
图3-6 “UserInfo类应用”效果(1) 图3-7 “UserInfo类应用”效果(2)
7. 调试九九乘法表程序
要求如下:
(1)在“Response.Write(" ");”语句处设置断点。
(2)查看循环变量i和j的值。
(3)通过更改j变量人为地控制循环次数。
三、实验步骤
1. 转换输入的成绩到相应的等级
(1)设计Web窗体。
在ExSite网站根文件夹下建立Ex3文件夹,再在Ex3文件夹中添加一个Web窗体Grade.aspx,切换到“设计”视图。如图3-8所示,向页面添加TextBox、Button和Label控件各一个。
图3-8 成绩等级转换设计界面
(2)设置各控件的属性。
Web窗体中各控件的属性设置如表3-1所示。
表3-1 各控件的属性设置表
控 件
属 性 名
属 性 值
说 明
TextBox
ID
txtInput
“输入成绩”文本框的编程名称
Button
ID
btnSubmit
“等级”按钮的编程名称
Text
等级
“等级”按钮上显示的文本
Label
ID
lblDisplay
显示等级信息的Label控件编程名称
Text
空
初始不显示任何内容
(3)编写Grade.aspx.cs中的方法代码。
按钮btnSubmit被单击后,触发Click事件,执行的方法代码如下:
protected void BtnSubmit_Click(object sender, EventArgs e) //本行应自动生成
//为了符合C#命名规则,本书将所有自动生成的方法名改为首字母大写的形式。注意,Grade.aspx文 件中自动生成的OnClick="btnSubmit_Click"须同步修改为OnClick="BtnSubmit_Click"。
{
float fGrade = float.Parse(txtInput.Text);
int iGrade = (int)(fGrade / 10);
switch (iGrade)
{
case 10:
case 9:
lblDisplay.Text = "**";
break;
case 8:
lblDisplay.Text = "良好";
break;
case 7:
lblDisplay.Text = "中等";
break;
case 6:
lblDisplay.Text = "及格";
break;
default:
lblDisplay.Text = "不及格";
break;
}
}
(4)浏览Grade.aspx进行测试。
2. 在Web窗体中输出九九乘法表
(1)在Ex3文件夹中添加一个Web窗体Multiplication.aspx,切换到“设计”视图。在空白处双击,编写Web窗体载入时触发Page.Load事件后执行的Page_Load()方法代码如下:
protected void Page_Load(object sender, EventArgs e) //本行应自动生成
{
for (int i = 1; i <= 9; i++) //i变量控制行数
{
for (int j = 1; j <= i; j++) //输出一行
{
//输出一个乘法算式
Response.Write(i.ToString() + "×" + j.ToString() + "="
+(i * j).ToString());
Response.Write(" "); //输出两个空格
}
Response.Write("
"); //输出换行
}
}
(2)浏览Multiplication.aspx查看效果。
3. 输入一组以空格间隔的共10个以内的整数,输出该组整数的降序排列
(1)设计Web窗体。
在Ex3文件夹中添加一个Web窗体ArrayDescending.aspx,切换到“设计”视图。如图3-9所示,向页面添加TextBox和Button控件各一个。
(2)设置各控件的属性。
Web窗体中各控件的属性设置如表3-2所示。
表3-2 各控件的属性设置表
控 件
属 性 名
属 性 值
说 明
TextBox
ID
txtInput
“输入一组整数”文本框的编程名称
Button
ID
btnSubmit
“降序”按钮的编程名称
Text
降序
“降序”按钮上显示的文本
(3)编写ArrayDescending.aspx.cs中的方法代码。
按钮btnSubmit被单击后,触发Click事件,执行的方法代码如下:
protected void BtnSubmit_Click(object sender, EventArgs e) //本行应自动生成
{
//获取文本框中输入的字符串,并在*后添加一个空格
string sInput = txtInput.Text.Trim() + " "; //引号中包含一个空格
//j控制数组下标;每个aInput数组元素存储一个整数;temp存储一个整数字符串
int j = 0;
int[] aInput = new int[10];
string temp = "0";
//逐个获取sInput中的每个字符。若不是空格,则将该字符连接到temp中;
//否则,将temp值转换为整数后存储到数组元素
for (int i = 0; i <= sInput.Length - 1; i++)
{
if (sInput.Substring(i, 1) != " ") //引号中包含一个空格
{
temp += sInput.Substring(i, 1);
}
else
{
aInput[j] = int.Parse(temp);
j++;
temp = "0";
}
}
Array.Sort(aInput); //升序排列数组
Array.Reverse(aInput); //反转数组顺序
foreach (int i in aInput)
{
if (i != 0) //数组元素不为0
{
Response.Write(i + " ");
}
}
}
(4)浏览ArrayDescending.aspx进行测试。
4. 计算两个数的商
(1)设计Web窗体。
在Ex3文件夹中添加一个Web窗体Division.aspx,切换到“设计”视图。如图3-10所示,向页面添加两个TextBox控件和一个Button控件。
(2)设置各控件的属性。
Web窗体中各控件的属性设置如表3-3所示。
表3-3 各控件的属性设置表
控 件
属 性 名
属 性 值
说 明
TextBox
ID
txtDivsor
“除数”文本框的编程名称
TextBox
ID
txtDividend
“被除数”文本框的编程名称
Button
ID
btnSubmit
“提交”按钮的编程名称
Text
提交
“提交”按钮上显示的文本