ASP.NET基础
2014-03-08 20:23
197 查看
一.ASP.NET内置对象
二.Server.Transfer 和Response.Redirect的区别
Response.Redirect 简单的发送一条消息到浏览器,告诉浏览器定位到另一个页面,重定位是通过浏览器执行的,在服务器和浏览器之间会产生额外的往返过程,在网络状况
不是很好的情况下,两次请求会大大的降低应用程序的反应速度,甚至占用多余的带宽。
Server.Transfer 也是通过一条语句将用户引导到另一个页面,首先,通过Server.Transfer引导到另一个页面保留服务器资源,通过更改服务器端“焦点”和传输请求来代替告诉浏览器重定向,这就意味这你不会占用较多的HTTP请求,因此这可以减少服务器的压力,使你的服务器运行更快,但要注意:由于transfer只能在同一服务器端的同一站点间运行,所以要重定向服务器以外的站点,只能使用Response.Redirect
三. .NET Page执行顺序
1.OnPreInit 检查IsPostBack属性来确定是不是第一次处理该页,创建或重新创建动态控件,动态设置主控页,动态设置Theme属性,获取或设置配置文件属性值。
注意:如果请求是回发请求,则控件的值尚未从视图状态还原,如果在此阶段设置控件属性,则其值可能会在下一事件中被重写
2.OnInit 在所有控件都已初始化且应用所有外观设置后,引发使用该事件读取或初始化控件属性
3.OnInitComplete 由page对象引发,使用该事件来处理请求完成所有初始化工作的任务
4.OnPreLoad 如果需要在Load事件之前对页或控件执行处理请使用该事件,在Page引发该事件后,它会为自身和所有控件加载视图状态,然后会处理Request实例包括
的任何回发数据
5.OnLoad 在page上调用onload事件方法,然后以递归方式对每个子控件执行递归操作,如此循环往复知道加载完本页和所有控件为止。使用onload事件方法来设置 控件
中的属性并建立数据库连接。
6.控件事件 用这些事件来处理特定事件 注:意在回发请求中,如果页面包含验证程序控件,请在执行任何处理之前检查page和各个验证控件IsValid属性
7.OnLoadComplete 对需要加载页上的所有其他控件的任务使用该事件。
8.OnPreRender 在该事件发生之前,page对象会针对每个控件和页调用EnsureChildControls,设置了DataSourceID属性的某个数据绑定控件会调用DataBind方法,页面上
的每控件都会发生PreRender事件,使用该事件对页或某控件的内容进行最后更改。
9.OnSaveStateComplete 在该事件发生之前,已针对页和所有控件保存ViewState,将忽略此时对页或控件的任何更改,使用该事件执行满足一下条件:保存了视图状态,但
未对控件进行任何更改。
10.Render 这不是事件在处理这个阶段,page对象会在每个控件上调用次方法,所有asp..net web 服务器控件都有,一个用于写出发送给浏览器的控件的标记Render方法
如果创建自定义控件通常要重写此方法以输出控件的标记,不过,如果自定义控件只合并标准的asp.net web服务器控件,不合并自定义控件不需要重写Render
用户控件自动合并重现,不需要重写Render
11.OnUnload 该事件首先针对每个控件发生,继而针对该页发生,在控件中,使用该事件对特定控件执行最后清理,如关闭控件,特定数据库的连接,对于页自身,使用该
事件来执行最后清理工作,如关闭打开的连接,或完成日志记录或其他请求特定任务。注意:在卸载阶段,页及其控件已被呈现,因此无法响应对流做进一步
的更改。
内置对象方法 | 信息量大小 | 作用域和保存时间 | 应用范围 | 保存位置 |
---|---|---|---|---|
Application | 任意大小 | 整个应用程序生命期 | 整个应用程序/所有用户 | 服务器端 |
Cache | 任意大小 | 根据需要设定 | 整个应用程序/所有用户 | 服务器端 |
Session | 小量简单数据 | 用户活动时间+延迟时间 | 单个用户 | 服务器端 |
Cookie | 小量简单数据 | 根据需要设定 | 单个用户 | 客户端 |
ViewState | 小量简单数据 | 一个web页面的生命期 | 单个用户 | 客户端 |
隐藏域 | 小量简单数据 | 一个web页面的生命期 | 单个用户 | 客户端 |
查询字符串 | 小量简单数据 | 直到下次页面跳转请求 | 单个用户 | 客户端 |
Response.Redirect 简单的发送一条消息到浏览器,告诉浏览器定位到另一个页面,重定位是通过浏览器执行的,在服务器和浏览器之间会产生额外的往返过程,在网络状况
不是很好的情况下,两次请求会大大的降低应用程序的反应速度,甚至占用多余的带宽。
Server.Transfer 也是通过一条语句将用户引导到另一个页面,首先,通过Server.Transfer引导到另一个页面保留服务器资源,通过更改服务器端“焦点”和传输请求来代替告诉浏览器重定向,这就意味这你不会占用较多的HTTP请求,因此这可以减少服务器的压力,使你的服务器运行更快,但要注意:由于transfer只能在同一服务器端的同一站点间运行,所以要重定向服务器以外的站点,只能使用Response.Redirect
三. .NET Page执行顺序
1.OnPreInit 检查IsPostBack属性来确定是不是第一次处理该页,创建或重新创建动态控件,动态设置主控页,动态设置Theme属性,获取或设置配置文件属性值。
注意:如果请求是回发请求,则控件的值尚未从视图状态还原,如果在此阶段设置控件属性,则其值可能会在下一事件中被重写
2.OnInit 在所有控件都已初始化且应用所有外观设置后,引发使用该事件读取或初始化控件属性
3.OnInitComplete 由page对象引发,使用该事件来处理请求完成所有初始化工作的任务
4.OnPreLoad 如果需要在Load事件之前对页或控件执行处理请使用该事件,在Page引发该事件后,它会为自身和所有控件加载视图状态,然后会处理Request实例包括
的任何回发数据
5.OnLoad 在page上调用onload事件方法,然后以递归方式对每个子控件执行递归操作,如此循环往复知道加载完本页和所有控件为止。使用onload事件方法来设置 控件
中的属性并建立数据库连接。
6.控件事件 用这些事件来处理特定事件 注:意在回发请求中,如果页面包含验证程序控件,请在执行任何处理之前检查page和各个验证控件IsValid属性
7.OnLoadComplete 对需要加载页上的所有其他控件的任务使用该事件。
8.OnPreRender 在该事件发生之前,page对象会针对每个控件和页调用EnsureChildControls,设置了DataSourceID属性的某个数据绑定控件会调用DataBind方法,页面上
的每控件都会发生PreRender事件,使用该事件对页或某控件的内容进行最后更改。
9.OnSaveStateComplete 在该事件发生之前,已针对页和所有控件保存ViewState,将忽略此时对页或控件的任何更改,使用该事件执行满足一下条件:保存了视图状态,但
未对控件进行任何更改。
10.Render 这不是事件在处理这个阶段,page对象会在每个控件上调用次方法,所有asp..net web 服务器控件都有,一个用于写出发送给浏览器的控件的标记Render方法
如果创建自定义控件通常要重写此方法以输出控件的标记,不过,如果自定义控件只合并标准的asp.net web服务器控件,不合并自定义控件不需要重写Render
用户控件自动合并重现,不需要重写Render
11.OnUnload 该事件首先针对每个控件发生,继而针对该页发生,在控件中,使用该事件对特定控件执行最后清理,如关闭控件,特定数据库的连接,对于页自身,使用该
事件来执行最后清理工作,如关闭打开的连接,或完成日志记录或其他请求特定任务。注意:在卸载阶段,页及其控件已被呈现,因此无法响应对流做进一步
的更改。
相关文章推荐
- asp.net控件开发基础(1)
- 在 ASP.NET 中实现会话状态的基础
- ASP.NET中Cookie编程的基础知识
- 简单的asp.net模拟邮箱系统基础实现(二 (4)具体版块功能的实现及关键代码之收件和写信)
- asp.net基础入门教程
- 恶补ASP.NET基础【1】枚举和结构
- ASP.Net Web-api 不可多得的零基础教程7
- asp.net控件开发基础系列
- ASP.NET-第六天-HTML基础
- ComponentOne WebChart for ASP.NET基础(2)
- asp.net控件开发基础(1)
- ASP.NET基础权限系统
- Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法 - 清清月儿 .NET万花筒 Asp.net技术 Asp.net教程 Asp.net源码 Asp.net基础 Asp.net控件 Asp.net入门 - CSDNBlog
- ASP.NET基础培训 - Cookie的正确利用
- ASP.NET Core 1.0基础之静态文件处理
- ASP.NET Google Maps Javascript API V3 实战基础篇一停用默认用户界面
- asp.net控件开发基础(9) -- 属性类型转换器
- ASP.NET Google Maps Javascript API V3 实战基础篇一动态创建折线
- 【Asp.net入门01】动态网站基础知识
- asp.net控件开发基础(12)