第一章
公共语言进行时
- 是整个.NET框架的基础,实际上是驻留在内存里的一段代理代码,负责整个.NET执行期间的代码管理工作,如内存管理、线程管理、安全管理、远程管理、即时编译、代码强制安全类型检查等。和JVM类似。
- CLR引入了一些能提高应用程序可靠性技术(如消除内存泄漏),同时提供了多语言执行环境,是的组件和XML Web服务的综合使用不再受编程语言限制。
.net框架
- .NET框架是一个多语言组件开发和执行环境,提供了一个跨语言统一编程环境
.NET框架包括三个主要组成成分:
- 公共语言运行时CLR
- 服务框架
- 两类应用模板,即传统Windows应用程序WinForm和基于ASP.NET的面向Web的应用程序模板WebForms和Web Services
C#、asp.net、.net框架、VS之间的关系
- ASP.NET是.NET框架的一部分,是继ASP后推出的全新动态网页制作技术,是建立在.NET框架的CLR上的,可用于在服务器上生成功能强大的Web应用程序
- Asp.NET可以用C#或VB.NET来开发。编译后形成CLR,通过服务器的IIS+.NET FrameWork再次编译来运行。总之,ASP.NET是.NET Framework环境下的动态网页编程技术,.NET Framework是.NET的基础框架,Visual Studio.NET是用于开发软件的一个集成环境
- Visual Basic.NET、Visual C++.NET、Visual C#.NET和Visual J#.NET使用统一的集成开发环境,该环境允许它们共享工程并创建混合语言解决方案;这些语言都利用.NET Framework的功能,它提供了对简化ASP.NET Web应用程序和XML Web Services开发关键技术的访问
编程体系框架啥的
B/S结构适用于广域网环境。应用程序及数据库系统都安装在服务器上,客户端只需安装一个浏览器软件。处理功能都运行在服务器端。
- 优势:维护方便、易于升级和扩展。处理功能运行在服务器端,客户端零维护。软件升级只需在服务器端更新程序即可。软件重用性好。
- 劣势:服务器负担沉重,容易成为性能的瓶颈;客户端功能十分有限。
- 浏览器端语言:HTML,CSS,JavaScript,VBScript
- 服务器端语言:ASP或ASP.NET,JSP,PHP
C/S结构主要适用于局域网环境。客户端具有独立的处理功能,同时通过网络与服务器端通信。开发工具包括C++、Delphi、Java等。
- 优势:充分发挥客户端PC的处理能力,客户端响应速度快。服务器端一般不会成为性能的瓶颈。
- 劣势:系统的可扩展性和可维护性差。客户端需要专门安装;升级很不方便;可连接用户数有限。
- C++和java
第二章
静态网页动态网页
静态网页
- 在网站设计中,纯HTML格式的网页通常被称为“静态网页” ,网页URL通常以.htm、.html、.shtml、.xml等常见形式为后缀。
- 所谓“静态”是指网站的网页内容“固定不变”,客户端浏览器访问.htm文件时,IIS不经过任何处理就直接送往浏览器,由浏览器解释执行。
- 在HTML格式的网页上,也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字母等,这些“动态效果”只是视觉上的。
动态网页
- 动态网页是与静态网页相对应的,也就是说,网页 URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.aspx、.jsp、.php、.perl、.cgi等形式为后缀
- 动态网页使用的语言:HTML+ASP(ASP.NET) 或 HTML+PHP 或 HTML+JSP 等。
- 在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如ASP、PHP、JSP、ASP.NET页。
- 动态网页以数据库技术为基础,可以大大降低网站维护的工作量
结构、窗体结构,表单包含内容,区分文件名
结构
- ASP.NET Web应用程序的结构主要由一个站点或者IIS虚拟目录组成
一般情况下,ASP.NET应用程序可能有如下的文件:
- Web窗体页(.aspx文件)
- Web服务(.asmx文件)
- 代码隐藏文件(.cs或.vb文件)
- 应用程序配置文件(web.config文件)
- ASP.NET网站配置文件(Global.asax文件)
- 用户控件文件(.ascx文件)
- 程序集(.dll)
- 提供额外功能的类文件等
Web窗体结构
@指令
是指ASP.NET用作页面处理的指令,用于指定当前页编译器处理ASP.NET的Web窗体页(.aspx)时所使用的设置
- 虽然指令可以位于.aspx文件中的任何位置,但是通常情况下将指令放在文件的开头。
- 每个指令都可以包含一个或者多个属性,它们与相应的值成对出现。
服务器代码
- 代码隐藏或代码后置,即将代码放在单独的文件中
- 代码内嵌,将代码放在同一页面文件中
<form>元素
- 如果页面包含允许用户交互并提交的控件,则该页面必须包含一个form元素。form元素必须包含runat属性,其属性值设置为server
- 静态元素
- Web服务器控件
- HTML元素作为服务器控件
HTML表单
- HTML表单包含了表单内部控件和相应的布局信息。
- HTML表单是在Web页中的<form>和</form>标记之间定义的控件组,用于让用户输入数据并提交
Web表单
- ASP.NET引入了Web表单的概念。Web表单中则包含了表单内部控件、相应的布局信息及数据提交后的数据处理代码。
- Web表单和HTML表单从本质上来讲是完全不同的表单,但在表现形式上没有太大差别
web表单和HTML表单区别
HTML表单包含了表单内部控件和相应的布局信息。Web表单中则包含了表单内部控件、相应的布局信息及数据提交后的数据处理代码
页面编译流程
- 当用户首次请求网站的资源时,ASP.NET将动态编译 ASP.NET 网页和代码文件。
- ASP.NET引擎会将C#、J#等代码翻译成一种名为Microsoft 中间语言(Microsoft Intermediate Language, MSIL)的、与编程语言和CPU无关的表示形式,并存储在一个或多个程序集中。程序集即文件扩展名为.dll的文件。
- 运行时,MSIL将运行在.NET框架的上下文中,.NET框架的(实际上是CLR的)Just-In-Time(JIT)编译器会将MSIL翻译成CPU特定的指令,便于计算机处理器运行应用程序。
- 在第一次编译页和代码文件之后,服务器将自动缓存编译以后的结果,提高了对同一页请求的效率。
第三章
命名空间、类、类库之间关系
命名空间
- 命名空间用于组织.NET Framework提供的几千个类。
- 作为组织类的逻辑单元,命名空间成了应用程序的组织形式。
- 使用命名空间可以解决类名冲突问题
类库
类库中可以有多个类,可以分属不同的命名空间,作为组织类的物理单元
类
略
C#语法
略
数据类型,值类型和引用类型
值类型
- 简单类型(Simple Type)
- 结构类型(Struct Type)
- 枚举类型(Enum Type)
引用类型
- 类类型(Class Type)
- 数组类型(Array Type)
- 委托类型(Delegate Type)
- 接口类型
C#面向对象的程序设计
略
C#(CLR)的垃圾回收机制
C#采用垃圾回收机制,能够在合适的时机回收不再使用的内存资源
第四章
asp.net页面事件处理流程
- Page_PreInit:通过IsPostBack属性确定是否第一次处理该页、创建动态控件、动态设置主题属性、读取配置文件属性等。
- Page_Init:初始化控件属性。
- Page_Load:读取和更新控件属性。
- 控件事件:处理特定事件,如Button控件的Click事件。
- 顺序:Page_PreInit -> Page_Init -> Page_Load -> 控件事件
页面属性、首次加载、回发、自动回发
页面属性:IsPostBack
- 当控件的事件被触发时,Page_Load事件会在控件的事件之前被触发。
- 如果想在执行控件的事件代码时不执行Page_Load事件中的代码,可以通过判断属性Page.IsPostBack实现。
- 属性IsPostBack在用户第一次浏览网页时,会返回值false,否则返回值true。
验证控件:服务器端、客户端
共有属性
- ControlToValidate:指定要验证控件的ID
- Display:指定验证控件在页面上显示的方式
- EnableClientScript:设置是否启用客户端验证,默认值true
- ErrorMessage:设置在ValidationSummary控件中显示的错误信息,若
属性Text值为空会代替它 - SetFocusOnError:当验证无效时,确定是否将焦点定位在被验证控件中
- Text:设置验证控件显示的信息
- ValidationGroup:设置验证控件的分组名
验证控件
- RequiredFieldValidator(必须字段验证)
CompareValidator(比较验证)
- ControlToCompare
- Operator
- Type
- ValueToCompare
RangeValidator(范围验证)
- MaximumValue
- MinimumValue
- Type
RegularExpressionValidator(正则表达式验证)
- ValidationExpression
- EnableClientScript
CustomValidator(自定义验证)
- DisplayMode
- ShowMessageBox
- ShowSummary
- ValidationSummary(验证总结)
asp.net和web页面交互过程(asp.net往返和处理机制)
?
传递信息
Request.QueryString["name"]
Request.Form["name"]
Session
Application
Cookie
Server.Transfer()
Server.Execute()
Response.Redirect()
ViewState
第五章
内置对象,各种赋值
- Response:提供向浏览器写入信息或者发送指令等功能
- Request:提供从浏览器读取信息或者读取客户端信息等功能
- Application:为所有用户提供共享信息
- Server:提供服务器端的一些属性和方法
- Session:为某个用户提供共享信息
- Cookie:将信息保存在客户端的浏览器上
Application["Greeting"]="欢迎您的光临!";
<%=Application["Greeting"]%>
Session["Greeting"]="欢迎!";
Response.Write(Session["Greeting"]);
Session.Abandon();
HttpCookie MyCookie = new HttpCookie(“user”);
MyCookie.Value = “为人民服务!”;
MyCookie.Expires = DateTime.Now.AddMinutes(20);
Response.Cookies.Add(MyCookie);
if (Request.Cookies["user"] != null)
{
string mycook=Request.Cookies["user"].Value;
Response.Write(mycook);
}
网站配置文件
- Global.asax文件,也叫做ASP.NET网站配置文件。在网站的根目录中,该文件是可选的,可以不定义该文件
- 主要用来提供应用程序和会话的开始和清除代码以及设置应用程序整体的参数
- 当网站开启时自动调用Global.asax文件
页面重定向方法
Server.Transfer()
Server.Execute()
Response.Redirect()
区分Response.Redirect()、Server.Execute()和Server.Transfer()
- Redirect()方法尽管在服务器端执行,但重定向实际发生在客户端,可从浏览器地址栏中看到地址变化;而Execute()和Transfer()方法的重定向实际发生在服务器端,在浏览器的地址栏中看不到地址变化
- Redirect()和Transfer()方法执行完新网页后,并不返回原网页;而Execute()方法执行完新网页后会返回原网页继续执行
- Redirect()方法可重定向到同一网站的不同网页,也可重定向到其它网站的网页;而Execute()和Transfer()方法只能重定向到同一网站的不同网页
- 利用Redirect()方法在不同网页之间传递数据时,状态管理采用查询字符串形式;而Execute()和Transfer()方法的状态管理方式与Button按钮的跨网页提交方式相同
视图状态
- ViewState是ASP.NET中对同一个窗体页的多次回发(PostBack)之间维持页及控件状态的一种机制
- 通过ViewState在页面回传的过程中保存状态值,使原本没有“记忆”的Http协议变得具有了“记忆”
- 当请求某个页面时,ASP.NET会把所有控件的状态序列化成一个字符串,然后作为窗体的隐藏字段送到客户端
- 由于隐藏窗体字段是发送到客户端的页面的一部分,所以ViewState值被临时存储在客户端的浏览器中。如果客户端选择将该页面回传给服务器,则ViewState字符串也将被回传
第六章
listcontrol 绑定数据
- 与数据库数据显示有关的属性主要包括:AppendDataBoundItem、DataSourceID、DataSource、DataTextField、DataValueField
- AppendDataBoundItem用于将数据绑定项追加到静态声明的列表项上
- DataTextField绑定的字段用于显示列表项
- DataValueField绑定的字段用于设置列表项的值。
访问数据库,连接模式、断开连接
懒得写了