ASP.NET 的出现给web 程序设计带来了一场革命,它具有windows 那种即见即所得的快捷,高度的封装给程序设计降低了难度,丰富的界面控件提高了软件设计的效率因而也缩短了开发周期,代码隐藏和分离技术使的程序的可读性和可维护性大大提高,加之ADO.NET数据库访问技术,将windows的程序设计思想完全容入到web设计之中。下面是我使用其构建一个系统整体构架的简单练习:
1、登录页面:
首先是一个登录用户的验证,接着是一系统公告和一个跑马灯的公告提示,最后是一些连接及版权说明。前台完全用WebControls 来作,后台使用C#编码来实现用户的登录用户名及密码和数据库中存储的数据进行比较验证,正确则登录并且将用户的userid和username 赋给全局变量Session["userid"]和Session["username"]以便在后面的页面上验证Session来判断用户是否一登录,将页面定向到Index.aspx,若验证用户名或密码失败则给出响应的提示信息,实现代码如下:
private void imgbtnLogin_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//判断用户名、密码是否录入
string username = txtUserName .Text .Trim ();
string userpasw = txtPassword .Text .Trim ();
string SqlUser = "select * from Users where UserID = '" + username + "'";
DataSet UserDtset = new DataSet();
UserDtset = login.GetDataSet (SqlUser);
//判断用户名是否存在
int SqlCount = UserDtset.Tables[0].Rows.Count;
if (SqlCount == 0)
{
ShowMessage("用户名不存在,请重新录入!",Page);
return;
}
//判断密码是否正确
string passwd = UserDtset.Tables[0].Rows[0]["password"].ToString();
if (passwd != userpasw)
{
ShowMessage("密码不正确,请重新录入!",Page);
return;
}
//赋给全局变量值
Session["UserID"]=UserDtset .Tables [0].Rows [0]["UserID"].ToString ();
Session ["UserName"]=UserDtset .Tables [0].Rows [0]["Name"].ToString ();
Response .Redirect ("index.aspx");
}
//提示信息
private void ShowMessage(string MsgText,System.Web.UI.Page PageObject)
{
StringBuilder SList = new StringBuilder();
SList.Append("<script language =javascript>
");
SList.Append("alert('"+MsgText +"');
");
SList.Append("</script>");
PageObject.RegisterStartupScript("",SList.ToString());
}
login.aspx中的其它部分 如:公告使用控件DataGrid将数据库中的数据读出来即可。
2、Index.aspx页面是程序的主页面 主要包括三部分 顶部一个Banner 、左边是一个TreeVew、右边是用于显示的主操作区,左边的Treeview 主要用于导航,这个一面主要使用的Fram 将几个页面拼接起来形成一个页面 后台代码:
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
if(Session ["UserName"]==null )//断Session若为空则跳转到登录页面
Response .Redirect ("Check.aspx");
}
}
这里使用了一个验证页面Check.aspx 若用户没有登录或者是Session超时都会转到此页面后三秒钟后转到登录页面,次页面有有提示信息:没有登录或者登录超时请重新登录;
3、我的需求和我提出的需求页面 主要是由主细目组成 都可以使用控件绑定数据库来完成,比较简单不再详述。
本文摘自 :https://blog.51cto.com/u