1.Asp.net服务器控件包括Web服务器控件和Html服务器控件,两种控件都是System.Web.UI.Control类的基类,
服务器控件编译后将会生成相应的html代码.需要在控件中加上runat="server",以标明是服务器控件以便服务器解析.
2.Control类的常用方法
2.1 FindControl("control_id");根据控件id查找控件
2.2 HasControl();确认是否包含控件,返回bool值
2.3 foreach(Control c in form1.Controls)//遍历表单中所有控件
{ Response.Write(c.ID);c.Visible = false;}
ps: ControlCollection controls b= Page.Controls //获取页面中的所有控件
3.按钮的单击客户端事件
<asp:Button runat="server" OnClientClick="return false;"/>
4.类型转换: as
5.HTTP处理程序的两种实现方式:
5.1 IHttpHandler接口实现类, 创建同步处理程序
5.2 IHttpAsyncHandler接口实现类,创建异步处理程序
两种方式都要求实现IsReusable属性和ProcessRequest方法,IsReusable属性指定IHttpHandlerFactory是否把你的处理程序放入池中(IsReusable = true),以便重复使用,否则(IsReusable = false)将会在每次请求时都创建.
5.3 可以使用IHttpHandlerFactory来配置管理多个IHttpHandler实现类,其配置方式和IHttpHandler配置方式一样.都在Web.config文件<httpHandlers></httpHandlers>中加入配置
6.HttpModule
7.单值绑定
<%# var1 %>,var1是变量的名称,需要调用控件的DataBind方法.
Page.DataBind();//调用页面所有控件以及子控件的DataBind方法
8.使用using代码块让程序自动释放系统资源对象(调用对象的Dispose方法)
using(SqlConnection con = new SqlConnection(conStr)){
con.open();
using(SqlCommand cmd = new SqlCommand("select * from xxx where id=@xxxid",con)){
cmd.Parameters.AddWithValue("@xxxid","1234567890");
cmd.ExecuteNonQuery();
}
}
8.1 SqlCommand对象使用
ExecuteNonQuery();//执行查询返回所有结果集合
ExecuteReader(); //执行查询返回SqlDataReader
ExecuteScalar(); //执行查询放回结果第一行第一列,用于返回单值操作,如 select count(*) from xxx
8.2 SqlParameter对象使用,用来参数化SQL,防止SQL注入
9.DataReader以只读方式读取数据,并支持多数据集(多条sql)的读取,用NextResult()移动到下一数据集
DataSet,DataTable,DataView,DataColumn,DataRow可以比作数据库,数据表,视图,数据列以及数据行,设置为远程数据库的本地副本.
DataSet可以通过DataAdapter同步DataSet本地数据和远程数据库数据.
10.GridView,Repeater
11.Cache,ViewState,Profile,Web Part,Asp.net 安全(角色管理器),打包与部署.
12.一个Aspx页面中包含各种服务器控件,可以把Aspx理解为为一控件树,而Page类为控件树的根控件.
13.UserControl类和Page类都是继承自TemplateControl类的,所以它们有很多相同的方法,属性和事件.
System.Object
System.Web.UI.Control
System.Web.UI.TemplateControl
System.Web.UI.Page
System.Web.UI.UserControl
14.C#中sealed关键字和Java中的final关键字作用类似,作用在类上时标记为不可继承.
C#中partial关键字用来标记该类为部分类,编译器会把多个部分类合并成一个整体类后再编译.