一个比较完善的登录模块,就目前的知识范围来说应该算是完美的。

涉及到:cookies,Session,验证码等知识面

Cookies存放一组值:

                    HttpCookie cook = new HttpCookie("userCook");
cook.Values["name"] = this.TextBox1.Text;
cook.Values["pwd"] = this.TextBox2.Text;
cook.Expires = DateTime.Now.AddDays(); Response.Cookies.Add(cook);
Response.Redirect("AdminIndex.aspx");

取值:

            if (!IsPostBack)
{
//已经登录过的,在Session有效期间可以免登录
if (Session["userInfo"] != null)
{
Response.Redirect(@"../Manage/AdminIndex.aspx");
}else if (Request.Cookies["userCook"] != null)
{
//回显登录用户的信息
this.TextBox1.Text = Request.Cookies["userCook"]["name"].ToString();
this.TextBox2.Text = Request.Cookies["userCook"]["pwd"].ToString();
}
}

验证码忽略大小写

          //忽略大小写
if (!Session["code"].ToString().Equals(this.TextBox3.Text, StringComparison.InvariantCultureIgnoreCase))
{
Response.Write("<script>alert('验证码输入不正确')</script>");
return;
}

验证码的产生

        /// <summary>
/// 生成验证码
/// </summary>
/// <param name="length">指定验证码的长度</param>
/// <returns></returns>
public string CreateValidateCode(int length)
{
string strArr = "0123456789abcdefghijklmnopqrxyzABCDEFGHIJKLMNOPQRXYZ";
char[] charArr = strArr.ToCharArray();
Random r = new Random();
string validateNumberStr = null;
for (int i = ; i < length; i++)
{
int a1 = r.Next(, charArr.Length);
validateNumberStr = validateNumberStr + charArr[a1] + "";
}
return validateNumberStr;
}

其他的知识,数据库中查询主键不连续表中一定范围的数据(如:第20条到第30条的数据)

思路:给表中加一列标号,然后再用子查询

加一列,编号
select *,ROW_NUMBER() over(order by MemberID) as num from [dbo].[tb_Member]
子查询
select [Address],PostCode,LoadDate from (select *,ROW_NUMBER() over(order by MemberID) as num from [dbo].[tb_Member]) as t where num>= and num<=

其他的后续再补充!!

第一个Asp.net小项目,主页写了下后台代码的更多相关文章

  1. 一个asp.net小项目总结

    写这篇文章之前先吐槽一下,最近换了一个公司,是给一个国企做外包,有两个月了,感觉这里的气氛有点不爽,还有点怀念以前的公司.具体听我说来,这里有几个团队,.net,java,手机开发,.net只有6个人 ...

  2. 跟我一起做一个vue的小项目(二)

    这个vue项目是紧跟着之前的项目跟我一起做一个vue的小项目(一)来的. 我继续后面的开发(写的比较粗糙,边学边记录) 下图是header头部的样式 header组件内容如下 //header.vue ...

  3. 最近做的一个Spring Boot小项目,欢迎大家访问 http://39.97.115.152/

    最近做的一个Spring Boot小项目,欢迎大家访问 http://39.97.115.152/,帮忙找找bug,网站里有源码地址 网站说明 甲壳虫社区(Beetle Community) 一个开源 ...

  4. asp.net MVC项目开发之统计图echarts后台数据的处理(三)

    前台显示的东西,有相应的文档很容易修改,后台传递数据方式才是我们最关心的 首先要记住,我们一步数据使用的是post,那么后台代码我们要给方法加上 [HttpPost]注解 不然异步没有效果 下面上代码 ...

  5. 8人/天,小记一次 JAVA(APP后台) 项目改造 .NET 过程(后台代码已完整开源于 Github)

    Github: https://github.com/iccb1013/Jade.Net 我们只消耗了8人/天的时间,完成了全部工作,基于我们 Jade.Net 的开源后台代码,任何小规模的后台管理系 ...

  6. 创建第一个ASP.NET MVC项目

    创建 新建->项目->展开Web->ASP.NET Web应用程序->MVC->确认 ASP.NET MVC应用程序的目录结构 /Controllers该目录保存处理UR ...

  7. 跟我一起做一个vue的小项目(七)

    先看下我们所做项目的效果 这些数据都是我们在data中定义的,不是从后端数据中请求的.那么 接下来我们使用axios渲染数据 npm install axios --save 每个组件里面的数据都不相 ...

  8. 跟我一起做一个vue的小项目(五)

    接下来我们要做的是热门推荐页面,我们写一个推荐组件 使用的方法也是前端data中的数据渲染到页面上面,这里对文字过长取省略号的方法不成功使用了一个小技巧 使用了min-width:0 我们来看完整的代 ...

  9. 跟我一起做一个vue的小项目(APPvue2.5完结篇)

    先放一下这个完结项目的整体效果 下面跟我我一起进行下面项目的进行吧~~~ 接下来我们进行的是实现header的渐隐渐显效果,并且点击返回要回到首页 我们先看效果 在处理详情页向下移动过程中,heade ...

随机推荐

  1. C#委托和事件

    委托和事件都可以用来调用跟自己方法签名一样的方法,两者在使用中主要有以下区别: 委托和事件没有可比性,因为委托是类型,事件是对象: 委托可以在声明它的类外部进行调用,而事件只能在类的内部进行调用: 委 ...

  2. 批量下载网站图片的Python实用小工具

    定位 本文适合于熟悉Python编程且对互联网高清图片饶有兴趣的筒鞋.读完本文后,将学会如何使用Python库批量并发地抓取网页和下载图片资源.只要懂得如何安装Python库以及运行Python程序, ...

  3. 初始angular框架(2)

    看文档看不懂吧  那就应该看看点例子  看什么例子呢  看看视频教程  一般老师会把一些重要的地方着重讲解的  不懂就反复的看

  4. php中环境变量

    $_ENV $_ENV是一个包含服务器端环境变量的数组.它是PHP中一个超级全局变量,我们可以在PHP 程序的任何地方直接访问它.   $_ENV只是被动的接受服务器端的环境变量并把它们转换为数组元素 ...

  5. 用shell脚本监控进程是否存在 不存在则启动的实例

    用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/shps -fe|grep processString |grep -v grepif [ $? -ne 0 ]th ...

  6. [Java Web]Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors

    手机客户端向服务器提交Http请求时,Tomcat抛出错误: 十二月 31, 2014 2:32:45 下午 org.apache.coyote.http11.AbstractHttp11Proces ...

  7. java 编译期常量

    今天在看书的时候遇到了一个不是很懂的名词,是在think in java 这本书的第七章讲final关键字时讲到的.然后自己在网上查了一下知道了一些. 编译器常量就是:它的值在编译期就可以确定的常量. ...

  8. C# Winform中DataGridView绑定后DataGridViewCheckBoxColumn无法显示的问题

    在控件DataGridView绑定数据源后,发现DataGridViewCheckBoxColumn不能显示当前的check值.经过一番努力,现将完整代码奉献出来,仅供参考. 错误代码: /*禁止自动 ...

  9. ThinkPhp的搭建

    一般而言,环境的搭建都是很复杂的,但是说句实话,php的环境是我见过最简单的,首先下载一个XAMPP集成软件包(这种软件包还有好多,但是我还是喜欢这个啊),然后直接安装,一路NEXT下午就ok了. 这 ...

  10. js显示隐藏

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...