request常用对象和方法:

@属性:1.quary string,获取通过URL路径传来的数据

2.Form,获取通过表单提交传输的数据

3.servervariables,获取Web服务器变量的集合

4.params,以上三种方式的集合

@方法:MapPath(),将指定的虚拟路径映射到物理路径

response对象允许开发人员对当前页面的输出流进行操作:

@属性:contentType,获取或设置输出流的HTTP MIME类型,默认是“text/html”

@方法:1.write(),直接在页面上输出内容

2.redirect(),重定向到另外一个页面

3.end(),使web服务器停止当前的程序并返回结果

简单登录页面的逻辑代码:

protected void btnsubmit_click(object sender,EventArgs e)

{

if(this.txtloginid.text.trim()=="jbit"&&

this.txtloginpwd.text.trim()=="bdqn")

{

Response.Redirect("Welcome.aspx?name=jbit");

}

else

{

this.ibiMessage.text="用户名/密码错误!";

}

}

欢迎页面中的逻辑代码:
protected void Page_load(object sender,EventArgs e)

{

if(!ispostBack)

{

string username=Request.queryString["name"];//获取URL中name的值

Response.write("欢迎",+username+"<br/>");

response.write("您的浏览器版本是:");

response.write(

resquest.ServerVariables["HTTP_USER_AGENT"].Tostring());

}

ASP.NET中状态保持:

Cookie储存于客户端, Session储存于服务器

cookie: 储存于客户端(谁访问我,就储存在谁的电脑上。就是我的服务器到你的客户端电脑)

cookie 特征总结: 储存少量数据;储存在客户端;安全性差;储存的数据类型-字符串

创建cookie(写)

方法一: Response.cookie[cookie的名称].value=变量值;

方法二: httpcookie hccookie=new httpcookie(cookie的名称,变量值);

response.cookies.add(hccookie);

读取cookie string username=request.cookie["username"].value;

例: 创建cookie:

httpcookie hccookie =new httpcookie("username",this.txtloginid.text.trim());

hccookie.expires=datetime.now.adddays(1);//设置有效期

response.cookie.add(hccookie);

读取cookie:

string username=request.cookies["username"].value;

session

位置:保存在服务器端,安全性高;

类型:任意类型;

session保存的信息不与其他用户共享;

在用户会话期间可以记录和监视用户信息;

当会话过期或终止时服务器会清除session对象(定期清除,要不内存占用过大);

语法:

session[session名称]=值;

变量=session[session名称];

实现在欢迎页面检查用户是否登录。未登录重定向到登录页面

}

ASP.NET 页面访问控制的更多相关文章

  1. ASP.net 页面生命周期

    ASP.NET 页面生命周期 Page_Preinit(); 在页初始化开始时发生 Page_Init(); 在所有控件初始化且应用外观设置后引发 Page_InitComplete(); 在页初始化 ...

  2. asp.net页面生命周期

    Asp.Net页面生命周期 本文转载自:http://www.cnblogs.com/xhwy/archive/2012/05/20/2510178.html 一.什么是Asp.Net页面生命周期 当 ...

  3. asp.net 页面上的点击事件

    asp.net 页面上 服务器端控件Button 有两个click事件如 <asp:Button ID="Button1" runat="server" ...

  4. ASP.NET页面的字符编码设置

    在用ASP.NET写网上支付的接口程序时,遇到一个奇怪问题,通过表单提交过去的中文全是乱码,英文正常.而用asp程序进行测试,可以正常提交中文,asp页面中有这样的HTML代码: <meta h ...

  5. [转] c# 模拟Asp.net页面中的某个按钮的点击,向web服务器发出请求

    在没有做题目中所述的内容的时候,感觉这应该是很简单的东西,但是当真正开始做的时候却发现,有很多问题现在在这里写出来,供和我一样水平不高的参考一下. 在写本文之前参照了一下文章 欢迎使用CSDN论坛阅读 ...

  6. 如何提高ASP.NET页面载入速度的方法

    前言 本文是我对ASP.NET页面载入速度提高的一些做法,这些做法分为以下部分: 1.采用 HTTP Module 控制页面的生命周期. 2.自定义Response.Filter得到输出流stream ...

  7. ASP.NET页面中去除VIEWSTATE视图状态乱码

    保存页的所有视图状态信息和控件状态信息. 基于SEO技术的开发,在没有接触MVC框架 Razor 引擎的时候,我们需要使用ASP.NET引擎,如果使用ASP.NET引擎的服务器端控件,那么在ASP.N ...

  8. ASP.NET页面中去除VIEWSTATE视

    保存页的所有视图状态信息和控件状态信息. 源码:http://www.jinhusns.com/Products/Download/?type=xcj 作者在早期参与的项目中曾遇到这样的需求:基于SE ...

  9. net面试 ASP.NET页面传值的各种方法和分析 (copy)

    Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题 ...

随机推荐

  1. 【代码沉淀】 - EPPlus - 操作xlsx表格文件

    EPPlus - Create advanced Excel spreadsheets on the server.web: http://epplus.codeplex.com/nuget: Ins ...

  2. C# JSON和对象之间互相转换

    1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,DataMember修饰属性,Order表示 解析的顺序,另外Lover是数组列表,表示女朋友个数 Address ...

  3. springboot之oauth2

    一.OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0. OAuth 2.0关注客户端开发者的简易性.要么通过组织在资源拥有者和HTTP服务商之间的 ...

  4. itop4412学习-上层应用多任务开发

    1. 首先搭建虚拟机VMWARE12.0+UBUNTU16.04,不过报错了,说是要关闭计算机(非重启)-- 进入BIOS -- 设置BIOS的虚拟化(不打开,默认是工作在32位模式的,virtual ...

  5. 创建Springmvc项目时,特殊拦截器失效情况的原因及解决办法

    最近开发一个新项目时,搭建springmvc框架时,遇到一个拦截器失效的情况困扰了两天.现在解决,特此记录一下. 拦截器不生效的情况描述: 设置登录拦截的时候,首先登录接口肯定是不用拦截的.所以需要在 ...

  6. 【MYSQL备份】利用mysqldump将一个数据库复制到另一个数据库

    假设要将服务器A上的数据库test备份到服务器B 1.在服务器B上新建数据库cp_test mysql> create database cp_test; Query OK, row affec ...

  7. 【SpringBoot】集成 Web Flux

    前言: 必需学会SpringBoot基础知识 简介: Takes an opinionated view of building production-ready Spring application ...

  8. [MYSQL]练习(一)

    本文转载自:http://www.cnblogs.com/DreamDrive/p/6193530.html 我只是想做一个自己的运维知识库,所以迫不得已做了搬运工 建表 DROP TABLE DEP ...

  9. 换Mac了,迈入了终端的大门

    多终端其实本质和多线程一样,所有终端其实都共享着同一个内存只不过不同终端对共享内存不同部分的权限不同罢了所以对终端的数量必须要有限制 我这里开启了四个线程,很明显四个线程都在跑同一个内存而且四个线程都 ...

  10. LeetCode--147.对链表进行插入排序

    题目描述: 插入排序的动画演示如上.从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示). 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中. 插入排序算法 ...