Asp.net视频总结

    Asp.net的视频最近过了一遍,对于其中的例子,大部分是实现了,由于版本原因,所以剩下的自己并没有找到最好的解决办法,当然学过是学过,总结必不可少。

   先宏观后微观。刚学完,感觉知识特别乱,所以先画了张图:

 

   对于视频中所讲的内容,也就上面三大块。

一、控件技术:

1.基于web服务器

    对于控件当然还有html控件、asp.net控件。而这里的控件就是我们常见的输入输出控件、单选按钮和复选框,还有下拉列表框以及Image等控件。

   这些控件运行后生成标准的html表单元素,开发者可以直接使用这些控件为应用程序创建界面。

2.数据验证控件

    验证控件,可以轻松实现用户输入的验证,且与用户浏览器无关。由在客户端或服务器中运行的验证代码执行,主要为客户端。

    验证控件特点:以调试模式运行,如果验证控件验证出问题,则页面不会提交到服务器执行,说明验证是在客户端进行的。

    这里共包括5个内置验证控件:

   1).RequiredFieldValidator控件:非空验证控件,确保被验证的控件中包含一个值。如用户名不能为空。

   2).CompareValidator控件:用于验证用户输入的内容是否符合要求,一般用于两次密码的比较或者输入的值与某个固定值的对比

   3).RangeValidator控件:该控件用于检查用户输入是否在特定的范围内。像年龄范围,时间范围等。

   4).RegularExpressionValidator控件:该控件用于检查与正则表达式定义的模式是否匹配,如身份证号码、电话号码、邮政编码等。

   5).CustomValidator控件:用户可以自定义控件的验证方式,该控件的验证比较灵活,所以使用比较广泛。

3.用户和自定义控件

   有时候我们需要的功能,内置控件并没有。这时,我们可以创建自己的控件。

  1).用户控件就是几个Web服务器控件的组合,使这几个控件成为一个控件,并可以定义这些控件的属性和方法。

  2).自定义控件。自定义控件就是编写的一个类,此类从control或webcontrol派生。这种笔用户控件复杂,但是更加灵活,功能也更加强大。

二、应用程序

    状态管理是在同一页或不同页的多个请求发生时,维护状态和信息的过程。

    1.Session:状态保持,存储于服务器端,用于存储会话信息,一般用于当用户登录时记录用户状态,当访问其它页面时判断是否存在该Session,如果为null则用户尚未登录,则转向登录页面即可,不为null时可继续处理。

    2.Cookie:状态保持,存储于客户端,用于当用户第一次登录时记录用户信息,以备下次登录时不必再重复输入一些基本信息,例如登录邮箱时所输入的Email地址,登录成功后,第二次不必再输入Email地址信息。

    3.Application:状态保持,存储于服务器端,为整个应用程序级的对象,一般用于统计在线人数。用户首次登录时设置Application[”num”]= 0,以后每次有一个用户登录则设置        Application[”num”]=Convert.ToInt32(Application[”num”].ToString())+ 1 ;

    4.Page:指向页面自身的方式,整个页面执行期内可使用该对象。   <%@PageLanguage=”C#”AutoEventWireup=”true”CodeFile=”default.aspx.cs”Inherits=“_default”> 

   注意:AutoEventWireup设置页面是否自动调用网页事件,如果该属性设置为false,则不会触发事件(例如Page_Load等等)

    5.Request:存储请求信息,常用属性QueryString可得到URL中 ?后面的参数,Form表单提交方式时取值,ServerVariable包含服务器端和客户端的系统信息,Params以上三种均可取值,因为需要在URL,表单,环境变量中找寻,故速度慢。

    6.Response:存储输出信息,常用属性Write方法可输出指定文本内容,Redirect方法为页面重定向操作。

三、数据访问

   1.ado.net是.net框架中的一套类库,使用这些类库,开发者在应用程序中可以方便的使用数据。Ado.net分为两种:连接对象和非连接对象。

    1).连接对象:面向连接的部分是指那些在与数据源交互和处理时,必须要打开可用连接的对象。

    Connection:连接对象,用来建立一个与数据源的连接。

    Transaction:事务对象,需要把一系列命令组织到一起执行时需要的对象,即“要么全部执行,要么一个都不执行”。

    Command:命令对象,用来执行数据库操作命令。这些命令可能返回结果,也可能不返回。平常所用的增删改查也就是此命令。

    DataAdapter:适配器对象,用来建立一个连接,还可以提供一个已建立的连接。

    DataReader:只读对象,用来读取数据,是只读/只向前移的游标。这种方式获取数据的速度比较快。

    2).在以非连接方式工作时,ADO.NET在不同的访问请求之间,对实际的物理连接进行池化。

    DataSet:是ADO.NET非连接数据访问模型的核心,可以把它看做完全在内存中的关系型数据库管理系统。

    DataTable:类似于数据库中的表,也是以行/列格式存储数据的。DataTable可以完全转换成XML,而且可以像DataSet那样被序列化。

    DataRow:表示一个可列举的DataRow(行)对象集合。

    DataColumn:DataTable也包含一个DataColumnCollection类型的Column属性。严格地说,这表示一个DataTable结构。

    DataView:类似数据库中的视图。DataView允许在一个DataTable上创建“视图”,一个DataTable上可以定义多个视图。

  2.数据绑定

数据显示则是由两种方法,一种是用ado.net代码手写,另一种则是用数据控件绑定后显示。.

  1).而对于gridview则是可以进行分页,这可以和我们之前所做牛腩新闻发布系统相结合。

  2).对于后两个我们则需要记住他们的模板。这两个控件允许模板定制,为呈现列表样式的数据提供了更大的灵活性。

   而对于手动绑定数据方法中:

   Eval是只读的单向数据绑定,所绑定的内容不会提交回服务器,使用方式<%# Eval(”user”).ToString() %>,实现格式为<%#Eval(”PublishDate”,  ”{0 :dd/MM/yyyy}”) %>显示格式为 ”17/08/2008”。

   Bind支持读写功能,为双向数据绑定,所绑定内容自动提交回服务器,常与输入控件一起使用。 <%#Bind(”Title”) %>

    通过这一段时间学习asp.net,我们不难发现它有很多优点:

    1)与浏览器无关 

    2) 方便设置断点,易于调试 

    3) 编译后执行,运行效率高  

    4)丰富的控件库 

    5) 代码后置,逻辑分明。

    开始看视频的时候,还在想这视频不会就是在讲这成吨的控件吧,是讲它没错,但是我对于这asp.net理解不到位,对于这些控件更是一无所知,甚至这些控件的功能自己想到没有想过。

   不怕不知道,就怕不知道。我们要学的知识,指不定还有多少我们听都没听过的,所以还是努力吧,骚年。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。