ASP。net 测验
Login.aspx using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using DBHelper; using MySql.Data.MySqlClient; public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { HttpCookie hc = null; if (Request.Cookies["LoginCookie"] != null) { hc = Request.Cookies["LoginCookie"]; this.TextBox1.Text = hc["username"]; this.TextBox2.Text = hc["password"]; Session.RemoveAll(); } } } protected void Button2_Click(object sender, EventArgs e) { string username = this.TextBox1.Text; string password = this.TextBox2.Text; string sql = "select id,name,password from login where name=@username and password=@password"; MySqlParameter p1 = new MySqlParameter("@username", username); MySqlParameter p2 = new MySqlParameter("@password", password); MySqlParameter[] pa = new MySqlParameter[] { p1, p2 }; MySqlDataReader dr = SqlHelper.ExecuteReaderText(sql, pa); while (dr.Read()) { //cookie HttpCookie hc = new HttpCookie("LoginCookie"); hc["id"] = dr[0].ToString(); hc["username"] = dr[1].ToString(); hc["password"] = dr[2].ToString(); hc.Expires = DateTime.Now.AddDays(1); Response.Cookies.Add(hc); //session LoginSession Lseiion = new LoginSession(); Lseiion.id = dr[0].ToString(); Lseiion.name = dr[1].ToString(); Session["LoginSession"] = Lseiion; Response.Redirect("Default.aspx"); } Response.Write("<script>alert('密码错误');location.href='Login.aspx'</script>"); } }
图片上传 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using MySql.Data.MySqlClient; using DBHelper; public partial class ImageUpload : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session["LoginSession"] == null) { Response.Redirect("Login.aspx"); } } } protected void Button1_Click(object sender, EventArgs e) { string FileName = FileUpload1.PostedFile.FileName; string File_Abbr = Server.MapPath("images/");//路径 string extion = Path.GetExtension(FileName);//格式 if (extion != ".jpg") { Response.Write("<script>alert('您上传的格式不正确')</script>"); } else { if (!Directory.Exists(File_Abbr)) { Directory.CreateDirectory(File_Abbr); } string NameTime = DateTime.Now.Ticks.ToString() + extion; FileUpload1.SaveAs(File_Abbr + NameTime); string sql = "insert into img(imgpath)values(@paths)"; MySqlParameter[] pa = new MySqlParameter[] { new MySqlParameter("@paths", File_Abbr + NameTime) }; int i = SqlHelper.ExecteNonQueryText(sql, pa); if (i > 0) { this.Image1.ImageUrl = @"./images/" + NameTime; Session["IsSubmit"] = true; Response.Write("<script>alert('文件上传成功')</script>"); } else { Response.Write("<script>alert('文件上传失败')</script>"); } } } }
在线统计 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Online : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session["LoginSession"] == null) { Response.Redirect("Login.aspx"); } } } protected void Button1_Click(object sender, EventArgs e) { Response.Write("当前在线人数为:" + Application["count"]); } }
应用配置 <%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { //在应用程序启动时运行的代码 Application["count"] = 0; } void Application_End(object sender, EventArgs e) { //在应用程序关闭时运行的代码 } void Application_Error(object sender, EventArgs e) { //在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e) { //在新会话启动时运行的代码 Application.Lock(); Application["count"] = (int)Application["count"] + 1; Application.UnLock(); } void Session_End(object sender, EventArgs e) { //在会话结束时运行的代码。 // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 // InProc 时,才会引发 Session_End 事件。如果会话模式 //设置为 StateServer 或 SQLServer,则不会引发该事件。 Application.Lock(); Application["count"] = (int)Application["count"] -1; Application.UnLock(); } </script>
<?xml version="1.0"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> <add key="con" value="Server=localhost;Database=cjp;Uid=root;Pwd=;charset=utf8;allow zero datetime=true"/> </appSettings> <system.web> <compilation debug="true" targetFramework="4.0"/> <customErrors mode="On" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="403.htm" /> <error statusCode="404" redirect="404.htm" /> </customErrors> <sessionState timeout="300" mode="InProc" /> </system.web> </configuration>
1、登录页面Login.aspx
① 页面加载 ,如果存在用户cookie,那么将cookie中的内容还原到用户名和密码上,
将存在的session全部删除
② 点击登录按钮,数据库验证用户名 和 密码 ,通过后保存cookie,session,然后跳转到主页面Index.aspx
2、主页面使用Menu控件作为菜单导航
3、使用页面导航菜单Menu导航到图片上传页面ImageUpload.aspx,session如果不存在或已经过期则跳转到登录页面,将图片上传文件上传到的网站路径image文件夹下,上传成功后,图片在页面上用image控件显示出来。
图片信息需要保存到数据库
4、使用页面导航菜单Menu导航到 在线人数统计页面Online.aspx ,session如果不存在或已经过期则跳转到登录页面,在Online.aspx 中显示一下当前在线人数