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 中显示一下当前在线人数

原文地址:https://www.cnblogs.com/mengluo/p/6026687.html