Asp.net
Asp.net定义:
B/S: B(浏览器)S(服务器) 【网站,企业信息化系统】
.NET Framework(FCL框架基础力类库和CLR公共语言运行时)
Asp.net优点: 1.与浏览器无关, 2.强大的IDE设计工具, 3.执行性能, 4.丰富的可用资源, 5.优良的可管理性, 6.强大的可扩展性。
Asp.net是基于Web,Web访问基于HTTP协议,HTTP是无状态协议。
1)HttpModule与HttpHandler的区别:
1.先后次序.先IHttpModule,后IHttpHandler. 注:Module要看你响应了哪个事件,一些事件是在Handler之前运行的,一些是在Handler之后运行的
2.对请求的处理上: IHttpModule是属于大小通吃类型,无论客户端请求的是什么文件,都会调用到它;例如aspx,rar,html的请求. IHttpHandler则属于挑食类型,只有ASP.net注册过的文件类型(例如aspx,asmx等等)才会轮到调用它.
3.IHttpHandler按照你的请求 生成响应的内容,IHttpModule对请求进行预处理,如验证、修改、过滤等等,同时也可以对响应进行处理
<httpHandlers>
<add verb="*" path="images/*.jpg" type="ImageHandler"/> <add verb="*" path="code.jpg" type="ImageCode"/>
</httpHandlers>
get和pos的区别:
1). get是从服务器上获取数据,post是向服务器传送数据。
2). get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3). 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4). get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。
5). get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
Asp.net控件分类: 具有可视化界面的组件 .dll(可重用的代码块) 1)Html服务器控件(Html控件) 2)Web服务器控件(Web控件)
HTML服务器端控件: 凡是有runat="Server"属性的所有控件都必须放在具有runat="Server"属性的form中。
如:<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="提交" /> <br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
服务器端处理事件: AutoPosBack:(属性设置为true,触发页面回发) IsPostBack:(属性设置为true,首次加载设置为false)
代码后置(CodeFile): .aspx文件中包含页面上的控件和布局, .aspx.cs文件中包含页面的程序代码,这种控件和布局与代码进行分离的技术称之为代码后置
系统对象: Context,Page,Response(响应),Request(请求),Server,Application,Session,Cache, 页面级对象:Context,Response,Request,Page,Server, 应用程序级对象:Application,Session,Catch
Session,Application,Cookie,ViewState的区别:
1)Session:保存在 服务器端,是在用户第一次访问网站的时候就实例化了。有多少个用户就有多少个实例。 应用范围:单个用户。生存期是用户持续请求时间再加上一段时间(一般是20分钟左右).Session中的信息保存在Web服务器内容中。
如:<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="15"/>
2)Application:保存在 服务器端的,在IIS 启动你网站的时候,就实例化了。整个网站运行期间,只有一个实例,应用范围:所有用户。
3)Cookie:保存在 客户端的,应用范围:单个用户。
4)ViewStatie:保存在客户端,保存时间:一个Web页面是生命期,应用范围:单个用户。 其中Session有过期时间,Application永不过期。
页面的生命周期:1初始化,2实例化,3加载,4验证,5执行from中的控件事件,6呈现之前,7呈现, 8卸载,9销毁
Global.asax:全局应用程序类 Global()方法有哪些:
Application_Start
Application_End
Application_Error
Session_Start
Session_End
asp.net常用控件:
1.GridView
2.DetailsView
3.DataList
4.Repeater
5.ListView
用户控件:后缀名.ascx
验证控件: RequiredFieldValidator(非空) RengeValidator(范围) CompareValidator(比较) RegularExpressionValidator(正则表达式) CustomValidator(自定义) ValidationSummary(验证信息)
认证控件: Windows验证,Forms验证,Passport验证,自定义验证,
第三方控件(Ajax ControlToolkit)