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. preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

    由于方法preg_replace()为PHP 5.5.x 中废弃的特性,官方建议需要在代码中将preg_replace()替换为函数preg_replace_callback,可以问题解决. 具体请见 ...

  2. JSP中乱码问题

    一.JSP页面显示乱码 二.表单提交中文时出现乱码 三.数据库连接 大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到的中文乱码的问题及解决办法写出来供大 ...

  3. Greenplum各种Tips(不定时更新)

    Greenplum接触也有一段时间了,在使用过程中积累了一些命令,在此分享给大家. 1. 查看segment是否有切换(没有记录则没有切换) SELECT * from gp_segment_conf ...

  4. layoutSubviews #pragma mark -

    >>>layoutSubviews: layoutSubviews是对sbuviews的重新布局,比如,我们想更新子视图的位置,可以通过调用layoutSubviews方法(不能直接 ...

  5. matplotlib 安装与使用

    1.在ubuntu下输入 sudo apt-get install python-matplotlib 安装matplotlib 2.简单代码使用

  6. BizTalk 开发系列(三十九) BizTalk Server 2009技术概览

    BizTalk Server 2009已经发布一段时间了,之前Beta版发布的时候也写过一篇文章<BizTalk Server 2009 Beta初体验>, 当时比较了2006 R2与20 ...

  7. 杭电ACM题目分类

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.1048.1056.1058. ...

  8. 【iCore3 双核心板】例程一:ARM驱动三色LED

    实验指导书及代码包下载: http://pan.baidu.com/s/1o6w6Xnk iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  9. mongodb 安装后 出现警告:** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000

    警告问题:当前mongodb 支持的最大文件数有256个,但是推荐至少1024个. 解决办法: 1.关闭现在打开的mongodb 终端窗口 2.重新打开终端并运行一下命令: sudo launchct ...

  10. 罪恶装备 Xrd REVELATOR 3D进化出的非照片真实视觉

    GUILTY GEAR Xrd REVELATOR 3D进化出的非照片真实视觉 罪恶装备系列是用2D日系动画一样的惊异视觉来吸引玩家的. 最新续品[GUILTY GEAR Xrd-REVELATOR- ...