第一个Asp.net小项目,主页写了下后台代码

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

涉及到: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(3);

                    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 = 0; i < length; i++)
            {
                int a1 = r.Next(0, 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>=1 and num<=5

其他的后续再补充!!

时间: 2024-11-05 06:24:45

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

最近做了一个Spring Boot小项目,大家帮忙找找bug吧, http://www.dbeetle.cn

最近做了一个Spring Boot小项目,网站顶部有源码地址,欢迎大家访问 http://www.dbeetle.cn 欢迎各位访问,提出意见,找找bug 网站说明 甲壳虫社区(Beetle Community) 一个开源的问答社区.论坛博客,您可以提出自己的问题.发布自己的文章.和其他用户交流 目前功能有第三方登陆.查看.发布.评论.消息通知.顶置.一键已读.搜索等 后续会不断更新完善,欢迎大家提供更好的建议 使用技术 Spring Boot.Mybatis.Thymeleaf.BootStr

asp.net里如何清空页面缓存的后台代码

asp.net里如何清空页面缓存的后台代码(因为只有GET请求会有缓存)   题描述:当使用ajax的时候,很有可能出现同一次请求,这里.比如buttonA修改了数据,而buttonB导出数据,如果两个按钮都采用ajax的技术来做的话,实际上buttonB在第二次点击以后,不会重新从数据库里获得一次数据,而是直接将缓存页发送给客户端.恩-这么做是好的,但是不是我们希望的.所谓使用了Ajax产生了不可预计的结果,有一部分可能也许就在于此.所以我要做的就是每次GET请求的时候都去清空缓存,然后再生成

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

Github: https://github.com/iccb1013/Jade.Net 我们只消耗了8/人天的时间,完成了全部工作,基于我们 Jade.Net 的开源后台代码,任何小规模的后台管理系统,都可以在极短的时间内完成. 这是我们在 2017 年早些时候开发的一个项目,甲方是一家工艺美术品企业,需要开发一款 APP 展示产品,并引入会员(多级代理),在线下单,返点等功能. 在立项后由于一些原因,选择了使用 Java 来开发后台管理部分,面向 IOS 和 Android 版客户端提供服务

在学会循环结构语句时就可以写的一个猜拳游戏小项目

package com.etc.for2; import java.util.Scanner; /** * 猜拳游戏规则: * 人或机器可以随机出石头.剪刀.布, * 若一方出石头,另一方出剪刀,则输出打印出石头方获胜, * 若一方出石头,另一方出布,则输出打印出布方获胜, * 若一方出布,另一方出剪刀,则输出打印出剪刀方获胜, * */ public class TestCaiQuan { public static void main(String[] args) { Scanner sc=

用webmagic实现一个java爬虫小项目

一.环境       项目:maven项目 数据库:mysql 二.项目介绍 我们要爬去的页面是https://shimo.im/doc/iKYXMBsZ5x0kui8P 假设我们需要进入这个页面,爬取页面里面的所有电影百度云链接,并保存在mysql数据库里. 三.pom.xml配置 首先我们需要新建一个maven项目,并在pom.xml配置如下jar包. <?xml version="1.0" encoding="UTF-8"?> <projec

第一个java画板小项目代码,最后面有问题哦,欢迎交流。

一.主窗体代码 package com.mr.draw;//类所在的包名 import javax.swing.JFrame; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapte

跟我一起做一个vue的小项目(三)

接下来我们进行轮播的开发 安装插件,选用2.6.7的稳定版本 npm install [email protected] --save 根据其github上面的用法,我们在全局引用,在main.js中添加 //main.js import VueAwesomeSwiper from 'vue-awesome-swiper' require('swiper/dist/css/swiper.css') Vue.use(VueAwesomeSwiper) 在components里面写入Swiper.v

跟我一起做一个vue的小项目(四)

接下来我们进行的是轮播页面下面的导航页的开发 我们需要的是实现轮播页下面的图标,并且实现轮播效果 这个话,其实基本思路先是渲染出小图标,然后,我们要对页数进行判断,如果图标的个数展示的就是8个,那个这个就是一页轮播 如果大于8个,我们要计算是显示几个轮播页.再根据这个轮播页我们去渲染的数据 //icons.vue <template> <div class="icons"> <swiper> <!-- 这个是轮播的页数 --> <s

做一个.net core 小项目 遇到的一些坑

1.验证码图片的问题,原本的system.drawing不能用了,比较linux系统不支持这个东西,所以导致图片不能展示 解决办法:改用ZKWeb.System.Drawing,用法跟system.drawing一样 2.session存储的问题,每次请求sessionid都会变,这就导致每次都提示验证码错误 解决办法:修改CookiePolicyOptions的配置,关闭GDPR    原理:sesion存储依赖于cookie,但是GDPR限制了cookie的存储,所以导致session无法存