ASPNET纸质大作业.docx

上传人:b****2 文档编号:12914250 上传时间:2023-04-22 格式:DOCX 页数:22 大小:302.30KB
下载 相关 举报
ASPNET纸质大作业.docx_第1页
第1页 / 共22页
ASPNET纸质大作业.docx_第2页
第2页 / 共22页
ASPNET纸质大作业.docx_第3页
第3页 / 共22页
ASPNET纸质大作业.docx_第4页
第4页 / 共22页
ASPNET纸质大作业.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

ASPNET纸质大作业.docx

《ASPNET纸质大作业.docx》由会员分享,可在线阅读,更多相关《ASPNET纸质大作业.docx(22页珍藏版)》请在冰豆网上搜索。

ASPNET纸质大作业.docx

ASPNET纸质大作业

延安大学

ASP.NET期末作业

学号:

*************

*******

班级:

信息14

学期:

2017.3-2017-7

 

实现步骤

网站由3个ASP.NET网页组成,分别为登录界面(Default.aspx)、注册界面(Sign.aspx)、通讯录管理查询界面(Txgl.aspx)。

一、设计登录界面(Default.aspx)

1)设计Web页面

新建一个ASP.NET网站,在Default.aspx页面中添加1个Panel控件Panel1,向Panel控件中添加用于布局的HTML表格。

添加必要的说明文字,2个文本框TextBox1和TextBox2;2个必须项验证控件RequireField1和RequireField1;1个正则表达式验证控件RegularExpressValidator1;1个验证摘要控件ValidationSummary1;3个超链接控件HyPerLink1~HyperLink3;两个命令按钮控件Button1、Button2,之间用空格拉开距离,页面布局如图1所示。

图1设计登录界面

2)设置对象属性

在设计视图中分别选中各控件,并在属性窗口中设置其属性。

各控件的属性值设置情况见表1。

表1各控件对象的属性设置

控件ID

属性

属性值

说明

HyperLink1

NavigateUrl

~/Default.aspx?

NewTheme=Default

超链接向DefaultUrl传递名为NewTheme的变量

Text

默认

超链接1控件上显示的文本

HyperLink2

NavigateUrl

~/Default.aspx?

NewTheme=Green

超链接向DefaultUrl传递名为NewTheme的变量

Text

绿色

超链接2控件上显示的文本

HyperLink3

NavigateUrl

~/Default.aspx?

NewTheme=Blue

超链接向DefaultUrl传递名为NewTheme的变量

Text

蓝色

超链接3控件上显示的文本

TextBox1

ID

TUser

文本框1在程序中使用的名称

TextBox2

ID

TPass

文本框2在程序中使用的名称

TextMode

Password

文本框2字符以“●”显示

Button1

ID

BLogin

按钮1在程序中使用的名称

Text

登录

按钮1控件上显示的文本

Button2

ID

BSign

按钮2在程序中使用的名称

Text

注册

按钮2控件上显示的文本

CausesValidation

False

用于执行按钮命令时让验证控件失效

控件ID

属性

属性值

说明

RequiredFieldValidator1

ControlToValidate

TUser

设置验证控件控制对象为TUser

Text

用户名不能为空

验证失败时控件显示的文本

ErrorMessage

请您输入用户名

验证失败时用于显示在验证摘要控件中的错误信息

RequiredFieldValidator2

ControlToValidate

TPass

设置验证控件控制对象为TPass

Text

密码不能为空

验证失败时控件显示的文本

ErrorMessage

请您输入密码

验证失败时用于显示在验证摘要控件中的错误信息

Display

Dynamic

设置验证控件显示方式为动态

RegularExpressionValidator1

ControlToValidate

TPass

设置验证控件控制对象为TPass

ValidationExpression

\d{6,12}

设置正则表达式,表示输入字符长度范围

Text

密码长度在6-12位

验证失败时控件显示的文本

ErrorMessage

密码位数不在6-12内

验证失败时用于显示在验证摘要控件中的错误信息

Display

Dynamic

设置验证控件显示方式为动态

3)登录界面各功能实现方法及代码:

i.登录界面换主题功能的实现方法:

创建1个名为images的文件夹,将事先准备好的背景图片复制到该文件夹中。

a)添加主题和级联样式表文件

在解决方案资源管理器中,向网站中添加Default、Green和Blue3个主题文件夹。

向各主题文件夹中添加同名的主题文件Default.skin、Green.skin和Blue.skin。

向主题文件夹中添加同名的级联样式表文件Default.css、Green.css和Blue.css,将images文件夹拖入到App_Theme文件夹中。

各主题文件和级联样式表文件内容如下。

Default.skin的代码如下所示:

Panelrunat="server"/>

Default.css文件的代码如下:

#login

{

background-color:

#F5FBFB;

}

使用“复制”、“修改”的方法基于Default.skin创建Green.skin文件,其代码如下所示:

Green.skin的代码如下所示:

Panelrunat="server"/>

Green.css文件的代码如下:

#login

{

background-image:

url(../images/2.jpg);

}

#msg

{

background-image:

url(../images/2.jpg);

}

使用“复制”、“修改”的方法基于Default.skin创建Blue.skin文件,其代码如下所示:

Blue.skin的代码如下所示:

Panelrunat="server"/>

Blue.css文件的代码如下:

#login

{

background-image:

url(../images/3.jpg);

color:

White;

}

#msg

{

background-image:

url(../images/3.jpg);

color:

White;

}

b)编写程序代码

切换到Default.aspx的源视图,在@Page指令中添加对默认主题的引用:

<%@PageLanguage="C#"…StylesheetTheme="Default"%>

双击页面空白区域,切换到Default.aspx.cs的代码编辑窗口,在窗口中输入如下代码。

页面装入时执行的事件代码如下:

protectedvoidPage_PreInit()

//Page_PerInit事件发生在Page_Load事件之前,此时StyleSheetTheme属性值尚未应用

{

//获取由“?

”传递来的变量值,并赋给页面(this)的Theme属性。

//页面@Page指令中设置的StyleSheetTheme属性值将被Theme属性覆盖this.Theme=Request.QueryString["NewTheme"];

}

ii.登录功能实现方法:

登录用户信息存放在Access数据库ad.accdb的User表中,包括Uno、Uname、Upart、Uphone、Usex、Upass和Ulevel7个字段,分别用于存放员工号、姓名、部门、电话、性别、密码、用户级别。

如图2所示。

图2User表的内容

编写程序代码

切换到Default.apsx的代码窗口编写事件处理代码。

由于登录用到了数据库连接与访问的对象,因此在代码区最上方添加对相应命名空间的引用。

usingSystem.Data.OleDb;

usingSystem.Data.SqlClient;

页面装入时执行的事件代码如下:

protectedvoidPage_Load(objectsender,EventArgse)

{

this.Title="通讯录查询系统登录";

TUser.Focus();

}

“登录”按钮被单击时执行的事件代码如下:

protectedvoidBLogin_Click(objectsender,EventArgse)

{

//将文本框中输入的信息存放在下面的字符串当中

stringusername=TUser.Text;

stringpassword=TPass.Text;

//连接语句

stringstr="Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+

Server.MapPath("App_Data/ad.accdb");

OleDbConnectionConn=newOleDbConnection(str);

Conn.Open();

OleDbCommandcmd=Conn.CreateCommand();

//输入SQL语句

cmd.CommandText="SELECT*FROM[User]WHEREUname=username";

cmd.Parameters.Add(newOleDbParameter("@Uname",username));

OleDbDataReaderreader=cmd.ExecuteReader();

//判断用户名是否合法

if(reader.Read()==true)

{

//读取该用户名的密码信息与用户级别信息

stringpwd=reader.GetString(reader.GetOrdinal("Upass"));

stringlel=reader.GetString(reader.GetOrdinal("Ulevel"));

if(pwd==password)

{

//密码合法时将用户密码确认信息与用户级别信息存入session中

Session["pass"]="yes";

Session["Level"]=lel;

//跳转到通讯管理界面

Response.Redirect("./Txgl.aspx");

Conn.Close();

}

else

{

//密码错误时对话框提醒信息

Response.Write("alert('密码错误')

");

TPass.Text="";

return;

}

}

else

{

//用户名不存在时对话框信息

Response.Write("alert('用户名错误')

");

TUser.Text="";

TPass.Text="";

return;

}

“注册”按钮被单击时执行的事件代码如下:

protectedvoidBSign_Click(objectsender,EventArgse)

{

Response.Redirect("./Sign.aspx");

}

二、设计注册界面(Sign.aspx)

1)设计Web页面

在网站中添加一个新的Web窗体,在页面中添加1个用于布局的HTML表格。

如图3所示,在页面中添加必要的文字说明。

添加4个TextBox控件TextBox1~TextBox4;添加1个下拉列表DropDownList控件;1个RadioButtonList控件;1个按钮控件Button1。

5个必须项验证控件RequireField1~RequireField5;2个正则表达式验证控件RegularExpressValidator1;1个比较验证控件CompareValidator。

图3Sign.aspx界面设计

2)设置对象属性

用户名、手机号、密码、确认密码后的TextBox的ID属性分别设置为Uname、UPhone、Upass、Uconfirm。

Upass、Uconfirm的TextMode属性都设为Password。

Button按钮的ID属性设为SignOK,Text属性设为注册。

验证控件的属性值设置情况见表2。

表2各控件对象的属性设置

控件ID

属性

属性值

RequiredFieldValidator1

ControlToValidate

Uname

ForeColor

Red

Text

*请您输入用户名

RequiredFieldValidator2

ControlToValidate

DropDownList1

ForeColor

Red

Text

*请您选择部门

InitialValue

-选择部门-

控件ID

属性

属性值

RequiredFieldValidator3

ControlToValidate

Uphone

ForeColor

Red

Text

*请您输入手机号

Display

Dynamic

RequiredFieldValidator4

ControlToValidate

Upass

ForeColor

Red

Text

*请输入密码

Display

Dynamic

RequiredFieldValidator5

ControlToValidate

UConfirm

ForeColor

Red

Text

*请输入密码

Display

Dynamic

RegularExpressionValidator1

ControlToValidate

UConfirm

ForeColor

Red

Text

*密码长度为6~12位

Display

Dynamic

ValidationExpression

\d{6,12}

RegularExpressionValidator2

ControlToValidate

Uphone

ForeColor

Red

Text

*号码格式不正确

Display

Dynamic

ValidationExpression

\d{5,11}

CompareValidator1

ControlToValidate

UConfirm

ControlToCompare

Upass

ForeColor

Red

Text

*两次密码输入不一致

Display

Dynamic

说明:

DropdownList1的Items中添加成员“-选择部门-”。

RadioButtonList1的Items中添加成员“男”和“女”,成员“男”的Selected属性为True,使页面加载时按钮默认选择“男”。

RequiredFieldValidator2验证控件中的InitialValue属性设置返回内容的初始值为“-选择部门-”,用来验证是否选择了部门。

3)编写程序代码

引用需要的命名空间。

代码如下:

usingSystem.Data.OleDb;

usingSystem.Data.SqlClient;

页面装入时执行的代码如下:

protectedvoidPage_Load(objectsender,EventArgse)

{

this.Title="通讯录查询注册页面";

if(!

IsPostBack)

{

//页面初次加载时,下拉列表框中添加的项

DropDownList1.Items.Add("生活部");

DropDownList1.Items.Add("宣传部");

DropDownList1.Items.Add("人事部");

DropDownList1.Items.Add("办公室");

DropDownList1.Items.Add("服务部");

}

Uname.Focus();

}

“注册”按钮被单击时执行的事件代码如下:

protectedvoidSignOK_Click(objectsender,EventArgse)

{

stringusername=Uname.Text;

stringpart=DropDownList1.SelectedValue.ToString();

stringphone=Uphone.Text;

stringsex=RadioButtonList1.SelectedValue.ToString();

stringpass=UPass.Text;

stringstr="Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+

Server.MapPath("App_Data/ad.accdb");

OleDbConnectionConn=newOleDbConnection(str);

Conn.Open();

OleDbCommandcmd=Conn.CreateCommand();

//默认传递的用户级别为2,即普通用户。

cmd.CommandText="INSERTINTO[User](Uname,Upart,Uphone,Usex,

Upass,Ulevel)VALUES(@username,@part,@phone,@sex,@pass,2)";

cmd.Parameters.Add(newOleDbParameter("@username",username));

cmd.Parameters.Add(newOleDbParameter("@@part",part));

cmd.Parameters.Add(newOleDbParameter("@phone",phone));

cmd.Parameters.Add(newOleDbParameter("@sex",sex));

cmd.Parameters.Add(newOleDbParameter("@pass",pass));

cmd.ExecuteNonQuery();

Response.Write("alert('注册成功|');

window.location='Default.aspx';");

}

三、设计通讯录管理查询界面(Txgl.aspx)

1)设计Web页面

在网站中添加一个新的Web窗体。

向其中添加必要的文字说明。

添加1个下拉列表框DropDownList1,1个文本框控件TextBox。

3个按钮控件Button1~Button3。

2个用于显示数据库的数据的GridView1(普通用户可见)、FormView1(管理员用户可见)和4个AccessDataSource1~AccessDataSource4控件,分别用于按员工号、姓名、部门查询记录的情况。

用于实现局部更新AJAX技术的1个SciptManager1控件和1个UpdatePanel1控件。

如图4所示。

图4Txgl.aspx界面设计

2)设置对象属性

设置文本框TextBox的ID属性为Query,设置按钮控件Button1~Button3的ID属性分别为ButtonQuery、ButtonALL、ButtonExit。

Text属性分别为“查询”、“显示全部”、“退出”。

选中AccessDataSource1,在其任务菜单中执行“配置数据源”命令,在打开的对话框中单击“浏览”按钮,选择事先已存放在网站App_Data文件夹中的ad.accdb文件。

在“配置Select语句”对话框中选择“指定自定义SQL语句或存储过程”。

单击“下一步”按钮,在打开的对话框,输入如下所示的SQL语句。

SELECT*FROM[User]WHERE([Uno]=?

单击“下一步”按钮,在打开的对话框中设置查询条件为Uno列的数据等于Query的Text属性值。

AccessDataSource2和AccessDataSource3的设置与前面1的设置基本相同,只是在设置WHERE子句时设置的查询条件不同,具体设置如图4和图5所示。

为了使程序支持“模糊查询”,在按姓名、部门查询时使用了LIKE运算符。

图5按姓名查询的WHERE子句设置

图6按班级查询的WHERE子句设置

AccessDataSource4的设置,去掉了WHERE子句部分。

无条件返回所有记录。

说明:

GridView和FormView控件都统一放在UpdatePanel内用于实现AJAX的局部更新。

3)编写程序代码

为了在GridView控件中显示中文的列表题,需要切换到Txgl.aspx页面的源视图,按如下所示修改GridView1控件中的描述代码。

GridViewID="GridView1"runat="server"AutoGenerateColumns="False">

BoundFieldDataField="Uno"HeaderText="员工号"/>

BoundFieldDataField="Uname"HeaderText="姓名"/>

BoundFieldDataField="Usex"HeaderText="性别"/>

BoundFieldDataField="Upart"HeaderText="部门"/>

BoundFieldDataField="Uphone"HeaderText="电话"/>

GridView>

页面装入时执行的事件代码如下:

protectedvoidPage_Load(objectsender,EventArgse)

{

//先将数据表显示控件设置为不可见

GridView1.Visible=false;

FormView1.Visible=false;

//判断登陆界面的状态管理Session信息

if((string)(Session["pass"])!

="yes")

{

//禁止非法用户直接输入通讯管理界面网址来到界面Response.Write("alert('直接来到这里可是非常

没礼貌的行为呦!

')");

Server.Transfer("Default.aspx");

}

else

{

this.Title="欢迎使用通讯录查询系统";

//判断用户级别信息,用于显示不同的表界面。

if((string)(Session["Level"])=="1")

{

FormView1.Visible=true;

GridView1.DataSource=user;

GridView1.DataBind();

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

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1