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

ASP。net 测验的更多相关文章

  1. 自己动手实现html去标签和文本提取

    随意观看 [TOC] 工具 python3.6 正则表达式(别的语言思路一样,容易借鉴) python正则表达式:flags的应用 这里主要介绍一下re.compile(pattern[, flags ...

  2. asp.net core 2.2 中的过滤器/筛选器(上)

    ASP.NET Core中的过滤器/筛选器 通过使用 ASP.NET Core MVC 中的筛选器,可在请求处理管道中的特定阶段之前或之后运行代码. 注意:本主题不适用于 Razor 页面. ASP. ...

  3. Web API 2 入门——使用ASP.NET Web API和Angular.js构建单页应用程序(SPA)(谷歌翻译)

    在这篇文章中 概观 演习 概要 由网络营 下载网络营训练包 在传统的Web应用程序中,客户机(浏览器)通过请求页面启动与服务器的通信.然后,服务器处理请求,并将页面的HTML发送给客户端.在与页面的后 ...

  4. SQL-W3School-测验:SQL 测验

    ylbtech-SQL-W3School-测验:SQL 测验 1.返回顶部 1. 您可以通过 W3SCHOOL 的测验程序来测试您的 SQL 技能. 关于本测验 本测验包含 20 道题,每道题的最长答 ...

  5. SQL 测验题目(30道)

    1.SQL 指的是? 您的回答:Structured Query Language 2.哪个 SQL 语句用于从数据库中提取数据? 您的回答:SELECT 3.哪条 SQL 语句用于更新数据库中的数据 ...

  6. ASP.NET Core 之 Identity 入门(一)

    前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库,负责对用户的身份进行认证,总体来说的话,没有MVC 5 里面那么复杂,因为在MVC 5里面引入了OW ...

  7. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  8. ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...

  9. ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”

    DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...

随机推荐

  1. 演示一个OLS进行数据访问控制的示例

    1.确认数据库版本 2.安装OLS组件 3.创建策略 4.创建分级和标签 5.创建测试用户并授权 6.更新标签 7.测试演示

  2. 实验四 Android开发基础

    实验四 Android开发基础 实验内容 1.安装Android Studio 2.运行安卓AVD模拟器 3.使用安卓运行出虚拟手机并显示HelloWorld以及自己的学号 (一)SDK的安装 (二) ...

  3. Python的全局变量

    应该尽量避免使用全局变量.不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性.对全局变量,如果程序员甲修改了_a的值,程序员乙同时也要使用_a,这时可能导致程序中的错误.这种错误是很难 ...

  4. Jquery 在页面加载后执行的几种方式

    1.$(function(){  $("#a").click(function(){  //adding your code here  }); }); 2.$(document) ...

  5. 【SIGGRAPH】用【有说服力的照片真实】技术实现最终幻想15的视觉特效

    原文:西川善司 http://www.4gamer.net/games/075/G007535/20160726064/   最终幻想15的演讲会场.相当大,听众非常多.      在本次计算机图形和 ...

  6. 20145218&20145240 《信息安全系统设计基础》实验一 开发环境的熟悉

    20145218&20145240 <信息安全系统设计基础>实验一 开发环境的熟悉 课程:信息安全系统设计基础 班级:1452 姓名:(按贡献大小排名)刘士嘉 张晓涵 学号:(按贡 ...

  7. javaWeb中servlet开发(3)——Servlet生命周期

    生命周期:是一个程序的存在周期,servlet由于是受容器的管理,所以容器来决定其生命周期 1.servlet生命周期 2.servlet生命周期对应的方法 3.servlet生命周期代码 publi ...

  8. SqlServer判断表是否存在

    .判断数据表是否存在 方法一: use yourdb; go if object_id(N'tablename',N'U') is not null print '存在' else print '不存 ...

  9. WPF部署问题 解决:The application requires that the assembly...be installed in the GAC

    vs-->引用-->找到问题类库-->邮件属性--->特定版本-->false done

  10. ExtJs 使用点滴 十四 通过设置CheckboxSelectionModel属性值来实现GridPanel复选框可用不可用

    var sm = new Ext.grid.CheckboxSelectionModel({singleSelect : false,renderer:function(v, p, record)   ...