ASP.NET 快速构建应用程序页面主框架

本文介绍使用ASP.NET构建登录系统的具体实现过程,包括登录验证、系统公告等功能,并通过C#后端代码完成用户验证,利用Session存储用户信息,确保用户状态。

None.gifASP.NET 的出现给web 程序设计带来了一场革命,它具有windows 那种即见即所得的快捷,高度的封装给程序设计降低了难度,丰富的界面控件提高了软件设计的效率因而也缩短了开发周期,代码隐藏和分离技术使的程序的可读性和可维护性大大提高,加之ADO.NET数据库访问技术,将windows的程序设计思想完全容入到web设计之中。下面是我使用其构建一个系统整体构架的简单练习:
None.gif
None.gif
1、登录页面:
None.gif
None.gif首先是一个登录用户的验证,接着是一系统公告和一个跑马灯的公告提示,最后是一些连接及版权说明。前台完全用WebControls 来作,后台使用C#编码来实现用户的登录用户名及密码和数据库中存储的数据进行比较验证,正确则登录并且将用户的userid和username 赋给全局变量Session[
"userid"]和Session["username"]以便在后面的页面上验证Session来判断用户是否一登录,将页面定向到Index.aspx,若验证用户名或密码失败则给出响应的提示信息,实现代码如下:
None.gif
None.gif
private void imgbtnLogin_Click(object sender, System.Web.UI.ImageClickEventArgs e)
ExpandedBlockStart.gif  
{
InBlock.gif   
//判断用户名、密码是否录入
InBlock.gif
   string username = txtUserName .Text .Trim ();
InBlock.gif   
string userpasw = txtPassword .Text .Trim ();
InBlock.gif   
string SqlUser    = "select * from Users  where UserID = '" + username + "'";
InBlock.gif
InBlock.gif   DataSet UserDtset 
= new DataSet();
InBlock.gif
InBlock.gif   UserDtset         
= login.GetDataSet (SqlUser);   
InBlock.gif   
//判断用户名是否存在
InBlock.gif
   int SqlCount      = UserDtset.Tables[0].Rows.Count;
InBlock.gif   
if (SqlCount == 0)
ExpandedSubBlockStart.gif   
{
InBlock.gif    ShowMessage(
"用户名不存在,请重新录入!",Page);
InBlock.gif    
return;     
ExpandedSubBlockEnd.gif   }

InBlock.gif   
//判断密码是否正确
InBlock.gif
   string passwd = UserDtset.Tables[0].Rows[0]["password"].ToString();
InBlock.gif   
if (passwd != userpasw)
ExpandedSubBlockStart.gif   
{
InBlock.gif    ShowMessage(
"密码不正确,请重新录入!",Page);
InBlock.gif    
return;
ExpandedSubBlockEnd.gif   }

InBlock.gif   
//赋给全局变量值
InBlock.gif
   Session["UserID"]=UserDtset .Tables [0].Rows [0]["UserID"].ToString ();
InBlock.gif   Session [
"UserName"]=UserDtset .Tables [0].Rows [0]["Name"].ToString ();
InBlock.gif   Response .Redirect (
"index.aspx");
InBlock.gif
ExpandedBlockEnd.gif}

None.gif
None.gif
//提示信息
None.gif

None.gif  
private void ShowMessage(string MsgText,System.Web.UI.Page PageObject)
ExpandedBlockStart.gif  
{   
InBlock.gif   StringBuilder SList 
= new StringBuilder();
InBlock.gif   SList.Append(
"<script language =javascript>\n");
InBlock.gif   SList.Append(
"alert('"+MsgText +"');\n");
InBlock.gif   SList.Append(
"</script>");
InBlock.gif   PageObject.RegisterStartupScript(
"",SList.ToString());       
ExpandedBlockEnd.gif  }

None.gif
None.giflogin.aspx中的其它部分 如:公告使用控件DataGrid将数据库中的数据读出来即可。
None.gif
None.gif
2、Index.aspx页面是程序的主页面 主要包括三部分 顶部一个Banner 、左边是一个TreeVew、右边是用于显示的主操作区,左边的Treeview 主要用于导航,这个一面主要使用的Fram 将几个页面拼接起来形成一个页面 后台代码:
None.gif
None.gif
private void Page_Load(object sender, System.EventArgs e)
ExpandedBlockStart.gif  
{
InBlock.gif   
if(!IsPostBack)
ExpandedSubBlockStart.gif   
{
InBlock.gif    
if(Session ["UserName"]==null )//断Session若为空则跳转到登录页面
InBlock.gif
       Response .Redirect ("Check.aspx");
ExpandedSubBlockEnd.gif   }

ExpandedBlockEnd.gif  }

None.gif
None.gif这里使用了一个验证页面Check.aspx 若用户没有登录或者是Session超时都会转到此页面后三秒钟后转到登录页面,次页面有有提示信息:没有登录或者登录超时请重新登录;
None.gif
None.gif
3、我的需求和我提出的需求页面 主要是由主细目组成 都可以使用控件绑定数据库来完成,比较简单不再详述。
None.gif

转载于:https://www.cnblogs.com/vaiyanzi/archive/2006/07/19/454596.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值